[INFO] cloning repository https://github.com/Aiffelowy/harpy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Aiffelowy/harpy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAiffelowy%2Fharpy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAiffelowy%2Fharpy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 621b6ae46b1a7dca11201c8a3bbc6fcbe1c3e8d0
[INFO] testing Aiffelowy/harpy against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAiffelowy%2Fharpy" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Aiffelowy/harpy
[INFO] finished tweaking git repo https://github.com/Aiffelowy/harpy
[INFO] tweaked toml for git repo https://github.com/Aiffelowy/harpy written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Aiffelowy/harpy on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Aiffelowy/harpy 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cba49ef28c8db830ddac1aa4056e74bbcf333a58314fd3889621433a573c2f4b
[INFO] running `Command { std: "docker" "start" "-a" "cba49ef28c8db830ddac1aa4056e74bbcf333a58314fd3889621433a573c2f4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cba49ef28c8db830ddac1aa4056e74bbcf333a58314fd3889621433a573c2f4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cba49ef28c8db830ddac1aa4056e74bbcf333a58314fd3889621433a573c2f4b", kill_on_drop: false }`
[INFO] [stdout] cba49ef28c8db830ddac1aa4056e74bbcf333a58314fd3889621433a573c2f4b
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59eabe9c67bb427b94684fdd8c8b76f36a2dfbab861e7da266b77acd6d647367
[INFO] running `Command { std: "docker" "start" "-a" "59eabe9c67bb427b94684fdd8c8b76f36a2dfbab861e7da266b77acd6d647367", kill_on_drop: false }`
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/extensions/scope_rc.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn get(&self) -> Ref<Scope>;
[INFO] [stdout]   |            ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |            |
[INFO] [stdout]   |            the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn get(&self) -> Ref<'_, Scope>;
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/extensions/scope_rc.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn get_mut(&self) -> RefMut<Scope>;
[INFO] [stdout]   |                ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                |
[INFO] [stdout]   |                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn get_mut(&self) -> RefMut<'_, Scope>;
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/scope_rc.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn get(&self) -> Ref<Scope> {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn get(&self) -> Ref<'_, Scope> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/scope_rc.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn get_mut(&self) -> RefMut<Scope> {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn get_mut(&self) -> RefMut<'_, Scope> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/extensions/symbol_info_rc.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_function(&self) -> Option<std::cell::Ref<FunctionInfo>>;
[INFO] [stdout]   |                    ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                    |
[INFO] [stdout]   |                    the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn as_function(&self) -> Option<std::cell::Ref<'_, FunctionInfo>>;
[INFO] [stdout]   |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn as_function_mut(&self) -> Option<std::cell::RefMut<FunctionInfo>>;
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn as_function_mut(&self) -> Option<std::cell::RefMut<'_, FunctionInfo>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn as_variable(&self) -> Option<std::cell::Ref<VariableInfo>>;
[INFO] [stdout]    |                    ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn as_variable(&self) -> Option<std::cell::Ref<'_, VariableInfo>>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn as_variable_mut(&self) -> Option<std::cell::RefMut<VariableInfo>>;
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn as_variable_mut(&self) -> Option<std::cell::RefMut<'_, VariableInfo>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn get(&self) -> Ref<SymbolInfo>;
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn get(&self) -> Ref<'_, SymbolInfo>;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn as_function(&self) -> Option<std::cell::Ref<FunctionInfo>> {
[INFO] [stdout]    |                    ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn as_function(&self) -> Option<std::cell::Ref<'_, FunctionInfo>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn as_function_mut(&self) -> Option<std::cell::RefMut<FunctionInfo>> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn as_function_mut(&self) -> Option<std::cell::RefMut<'_, FunctionInfo>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_variable(&self) -> Option<Ref<VariableInfo>> {
[INFO] [stdout]    |                    ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_variable(&self) -> Option<Ref<'_, VariableInfo>> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_variable_mut(&self) -> Option<RefMut<VariableInfo>> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn as_variable_mut(&self) -> Option<RefMut<'_, VariableInfo>> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/extensions/symbol_info_rc.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn get(&self) -> Ref<SymbolInfo> {
[INFO] [stdout]    |            ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |            |
[INFO] [stdout]    |            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn get(&self) -> Ref<'_, SymbolInfo> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.50s
[INFO] running `Command { std: "docker" "inspect" "59eabe9c67bb427b94684fdd8c8b76f36a2dfbab861e7da266b77acd6d647367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59eabe9c67bb427b94684fdd8c8b76f36a2dfbab861e7da266b77acd6d647367", kill_on_drop: false }`
[INFO] [stdout] 59eabe9c67bb427b94684fdd8c8b76f36a2dfbab861e7da266b77acd6d647367
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 470e8a0c9e41beab27d66e9d46c068284293758c8441c755b327c1378f51a5ed
[INFO] running `Command { std: "docker" "start" "-a" "470e8a0c9e41beab27d66e9d46c068284293758c8441c755b327c1378f51a5ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:128:20
[INFO] [stdout]     |
[INFO] [stdout] 128 |         Lexer::new(input).unwrap()
[INFO] [stdout]     |         ---------- ^^^^^ expected `&SourceFile`, found `&str`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&SourceFile`
[INFO] [stdout]                found reference `&str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lexer/lexer.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  19 |     pub fn new(buffer: &'lexer SourceFile) -> Result<Self> {
[INFO] [stdout]     |            ^^^ --------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:313:46
[INFO] [stdout]     |
[INFO] [stdout] 313 |             TokenType::Literal(Lit::LitFloat(5.0))
[INFO] [stdout]     |                                ------------- ^^^ expected `u64`, found floating-point number
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/lexer/tokens.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         LitFloat(u64)
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:317:46
[INFO] [stdout]     |
[INFO] [stdout] 317 |             TokenType::Literal(Lit::LitFloat(0.2))
[INFO] [stdout]     |                                ------------- ^^^ expected `u64`, found floating-point number
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/lexer/tokens.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         LitFloat(u64)
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:321:46
[INFO] [stdout]     |
[INFO] [stdout] 321 |             TokenType::Literal(Lit::LitFloat(235.0))
[INFO] [stdout]     |                                ------------- ^^^^^ expected `u64`, found floating-point number
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/lexer/tokens.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         LitFloat(u64)
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:325:46
[INFO] [stdout]     |
[INFO] [stdout] 325 |             TokenType::Literal(Lit::LitFloat(214.0))
[INFO] [stdout]     |                                ------------- ^^^^^ expected `u64`, found floating-point number
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/lexer/tokens.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         LitFloat(u64)
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lexer/lexer.rs:329:46
[INFO] [stdout]     |
[INFO] [stdout] 329 |             TokenType::Literal(Lit::LitFloat(0.4))
[INFO] [stdout]     |                                ------------- ^^^ expected `u64`, found floating-point number
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/lexer/tokens.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         LitFloat(u64)
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser/expr/expr.rs:211:49
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut parser = Parser::new(Lexer::new(s).unwrap());
[INFO] [stdout]     |                                      ---------- ^ expected `&SourceFile`, found `&str`
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&SourceFile`
[INFO] [stdout]                found reference `&str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lexer/lexer.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  19 |     pub fn new(buffer: &'lexer SourceFile) -> Result<Self> {
[INFO] [stdout]     |            ^^^ --------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Box` found for struct `prefix::PrefixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:231:36
[INFO] [stdout]     |
[INFO] [stdout] 231 |             Expr::Prefix(PrefixOp::Box, inner) => {
[INFO] [stdout]     |                                    ^^^ associated item not found in `prefix::PrefixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/prefix.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub struct PrefixOp {
[INFO] [stdout]     | ------------------- associated item `Box` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Minus` found for struct `prefix::PrefixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:242:36
[INFO] [stdout]     |
[INFO] [stdout] 242 |             Expr::Prefix(PrefixOp::Minus, inner) => {
[INFO] [stdout]     |                                    ^^^^^ associated item not found in `prefix::PrefixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/prefix.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub struct PrefixOp {
[INFO] [stdout]     | ------------------- associated item `Minus` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Plus` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:253:39
[INFO] [stdout]     |
[INFO] [stdout] 253 |             Expr::Infix(lhs, InfixOp::Plus, rhs) => {
[INFO] [stdout]     |                                       ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Plus` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Plus` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:265:39
[INFO] [stdout]     |
[INFO] [stdout] 265 |             Expr::Infix(lhs, InfixOp::Plus, rhs) => {
[INFO] [stdout]     |                                       ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Plus` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Mult` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:268:45
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     Expr::Infix(_, InfixOp::Mult, _) => {} // correct precedence
[INFO] [stdout]     |                                             ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Mult` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Mult` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:280:39
[INFO] [stdout]     |
[INFO] [stdout] 280 |             Expr::Infix(lhs, InfixOp::Mult, rhs) => {
[INFO] [stdout]     |                                       ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Mult` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Plus` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:282:45
[INFO] [stdout]     |
[INFO] [stdout] 282 |                     Expr::Infix(_, InfixOp::Plus, _) => {} // parentheses worked
[INFO] [stdout]     |                                             ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Plus` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Box` found for struct `prefix::PrefixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:295:36
[INFO] [stdout]     |
[INFO] [stdout] 295 |             Expr::Prefix(PrefixOp::Box, inner) => match *inner {
[INFO] [stdout]     |                                    ^^^ associated item not found in `prefix::PrefixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/prefix.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | pub struct PrefixOp {
[INFO] [stdout]     | ------------------- associated item `Box` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Mult` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:296:43
[INFO] [stdout]     |
[INFO] [stdout] 296 |                 Expr::Infix(lhs, InfixOp::Mult, rhs) => {
[INFO] [stdout]     |                                           ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Mult` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Plus` found for struct `infix::InfixOp` in the current scope
[INFO] [stdout]    --> src/parser/expr/expr.rs:298:49
[INFO] [stdout]     |
[INFO] [stdout] 298 |                         Expr::Infix(_, InfixOp::Plus, _) => {}
[INFO] [stdout]     |                                                 ^^^^ associated item not found in `infix::InfixOp`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser/expr/infix.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct InfixOp {
[INFO] [stdout]     | ------------------ associated item `Plus` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0023]: this pattern has 2 fields, but the corresponding tuple variant has 1 field
[INFO] [stdout]    --> src/parser/expr/expr.rs:313:24
[INFO] [stdout]     |
[INFO] [stdout]  83 |     Call(Node<CallExpr>),
[INFO] [stdout]     |          -------------- tuple variant has 1 field
[INFO] [stdout] ...
[INFO] [stdout] 313 |             Expr::Call(ident, args) => {
[INFO] [stdout]     |                        ^^^^^  ^^^^ expected 1 field, found 2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser/statements/let_stmt.rs:85:49
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut parser = Parser::new(Lexer::new("let var: mut int = (7 + 3) * 4;").unwrap());
[INFO] [stdout]    |                                      ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&SourceFile`, found `&str`
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&SourceFile`
[INFO] [stdout]               found reference `&'static str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/lexer/lexer.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new(buffer: &'lexer SourceFile) -> Result<Self> {
[INFO] [stdout]    |            ^^^ --------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser/statements/return_stmt.rs:89:49
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut parser = Parser::new(Lexer::new("return a == b").unwrap());
[INFO] [stdout]    |                                      ---------- ^^^^^^^^^^^^^^^ expected `&SourceFile`, found `&str`
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&SourceFile`
[INFO] [stdout]               found reference `&'static str`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/lexer/lexer.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new(buffer: &'lexer SourceFile) -> Result<Self> {
[INFO] [stdout]    |            ^^^ --------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0023, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0023`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `compiler` (bin "compiler" test) due to 20 previous errors
[INFO] running `Command { std: "docker" "inspect" "470e8a0c9e41beab27d66e9d46c068284293758c8441c755b327c1378f51a5ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "470e8a0c9e41beab27d66e9d46c068284293758c8441c755b327c1378f51a5ed", kill_on_drop: false }`
[INFO] [stdout] 470e8a0c9e41beab27d66e9d46c068284293758c8441c755b327c1378f51a5ed
