[INFO] cloning repository https://github.com/nilern/Kyy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nilern/Kyy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilern%2FKyy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilern%2FKyy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 79135882df2f28a70a2fe875b7b3c0421066243f [INFO] checking nilern/Kyy against master#b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18 for pr-79470 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnilern%2FKyy" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nilern/Kyy on toolchain b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nilern/Kyy [INFO] finished tweaking git repo https://github.com/nilern/Kyy [INFO] tweaked toml for git repo https://github.com/nilern/Kyy written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/nilern/Kyy already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 71e39df2e2eda31391055018f537a8acb4f2704ce2202cffdc7819a6d8323641 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "71e39df2e2eda31391055018f537a8acb4f2704ce2202cffdc7819a6d8323641", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "71e39df2e2eda31391055018f537a8acb4f2704ce2202cffdc7819a6d8323641", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71e39df2e2eda31391055018f537a8acb4f2704ce2202cffdc7819a6d8323641", kill_on_drop: false }` [INFO] [stdout] 71e39df2e2eda31391055018f537a8acb4f2704ce2202cffdc7819a6d8323641 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+b7ebc6b0c1ba3c27ebb17c0b496ece778ef11e18" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be070672c188e26495e9e48e12467466fa68b456ded0186cf81a9001446848b8 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "be070672c188e26495e9e48e12467466fa68b456ded0186cf81a9001446848b8", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.80 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Checking log v0.4.11 [INFO] [stderr] Checking intrusive-collections v0.9.0 [INFO] [stderr] Checking dirs-sys-next v0.1.1 [INFO] [stderr] Checking dirs-next v1.0.2 [INFO] [stderr] Checking rustyline v6.3.0 [INFO] [stderr] Checking kyy v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:68:41 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(chars))), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(Box::new(tokens.spanning(Expr::Const(Int::new(km, Int(n)).as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:68:41 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(chars))), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_true().as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_false().as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:96:46 [INFO] [stdout] | [INFO] [stdout] 96 | l = Box::new(tokens.spanning(Expr::Mul(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:102:46 [INFO] [stdout] | [INFO] [stdout] 102 | l = Box::new(tokens.spanning(Expr::Div(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | l = Box::new(tokens.spanning(Expr::Add(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:125:46 [INFO] [stdout] | [INFO] [stdout] 125 | l = Box::new(tokens.spanning(Expr::Sub(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:72:41 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(Box::new(tokens.spanning(Expr::Const(Int::new(km, Int(n)).as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_true().as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | l = Box::new(tokens.spanning(Expr::Lt(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:149:46 [INFO] [stdout] | [INFO] [stdout] 149 | l = Box::new(tokens.spanning(Expr::Le(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 155 | l = Box::new(tokens.spanning(Expr::Eq(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:161:46 [INFO] [stdout] | [INFO] [stdout] 161 | l = Box::new(tokens.spanning(Expr::Ne(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:80:41 [INFO] [stdout] | [INFO] [stdout] 80 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_false().as_obj()), tok.span))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:96:46 [INFO] [stdout] | [INFO] [stdout] 96 | l = Box::new(tokens.spanning(Expr::Mul(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:167:46 [INFO] [stdout] | [INFO] [stdout] 167 | l = Box::new(tokens.spanning(Expr::Gt(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:102:46 [INFO] [stdout] | [INFO] [stdout] 102 | l = Box::new(tokens.spanning(Expr::Div(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:173:46 [INFO] [stdout] | [INFO] [stdout] 173 | l = Box::new(tokens.spanning(Expr::Ge(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:225:23 [INFO] [stdout] | [INFO] [stdout] 225 | return Ok(Stmt::If {condition, conseq, alt}); [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:234:24 [INFO] [stdout] | [INFO] [stdout] 234 | Ok(Stmt::Assign(String::from(name), rvalue)) [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 119 | l = Box::new(tokens.spanning(Expr::Add(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:236:25 [INFO] [stdout] | [INFO] [stdout] 236 | _ => Ok(Stmt::Expr(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(name))), id.span)))) [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:125:46 [INFO] [stdout] | [INFO] [stdout] 125 | l = Box::new(tokens.spanning(Expr::Sub(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:143:46 [INFO] [stdout] | [INFO] [stdout] 143 | l = Box::new(tokens.spanning(Expr::Lt(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:149:46 [INFO] [stdout] | [INFO] [stdout] 149 | l = Box::new(tokens.spanning(Expr::Le(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:236:61 [INFO] [stdout] | [INFO] [stdout] 236 | _ => Ok(Stmt::Expr(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(name))), id.span)))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:240:62 [INFO] [stdout] | [INFO] [stdout] 240 | Token::Integer(_) | Token::True | Token::False => Ok(Stmt::Expr(expr(km, tokens)?)), [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | Expr::Add(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | Expr::Sub(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | Expr::Mul(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | Expr::Div(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Expr::Lt(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | Expr::Le(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | Expr::Eq(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | Expr::Ne(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | Expr::Gt(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | Expr::Ge(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | Expr::Var(ref name) => match env.get(&**name) { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Expr::Const(ref c) => Ok(c.clone()) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 155 | l = Box::new(tokens.spanning(Expr::Eq(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:161:46 [INFO] [stdout] | [INFO] [stdout] 161 | l = Box::new(tokens.spanning(Expr::Ne(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:167:46 [INFO] [stdout] | [INFO] [stdout] 167 | l = Box::new(tokens.spanning(Expr::Gt(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:173:46 [INFO] [stdout] | [INFO] [stdout] 173 | l = Box::new(tokens.spanning(Expr::Ge(l, r), span)); [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:225:23 [INFO] [stdout] | [INFO] [stdout] 225 | return Ok(Stmt::If {condition, conseq, alt}); [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:234:24 [INFO] [stdout] | [INFO] [stdout] 234 | Ok(Stmt::Assign(String::from(name), rvalue)) [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:236:25 [INFO] [stdout] | [INFO] [stdout] 236 | _ => Ok(Stmt::Expr(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(name))), id.span)))) [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/mutator.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of` [INFO] [stdout] --> src/mutator.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::lexer::Spanning` [INFO] [stdout] --> src/ast.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lexer::Spanning; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/parser.rs:236:61 [INFO] [stdout] | [INFO] [stdout] 236 | _ => Ok(Stmt::Expr(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(name))), id.span)))) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Root` [INFO] [stdout] --> src/ast.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use super::orefs::{Root, Gc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::ast` [INFO] [stdout] --> src/parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use super::ast; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Stmt` [INFO] [stdout] --> src/parser.rs:240:62 [INFO] [stdout] | [INFO] [stdout] 240 | Token::Integer(_) | Token::True | Token::False => Ok(Stmt::Expr(expr(km, tokens)?)), [INFO] [stdout] | ^^^^ use of undeclared type `Stmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | Expr::Add(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | Expr::Sub(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | Expr::Mul(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | Expr::Div(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Expr::Lt(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | Expr::Le(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | Expr::Eq(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | Expr::Ne(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | Expr::Gt(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | Expr::Ge(ref l, ref r) => { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | Expr::Var(ref name) => match env.get(&**name) { [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expr` [INFO] [stdout] --> src/eval.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | Expr::Const(ref c) => Ok(c.clone()) [INFO] [stdout] | ^^^^ use of undeclared type `Expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `KyyMutator` [INFO] [stdout] --> src/int.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use super::mutator::{KyySizedBytesType, KyyMutator}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::lexer::Spanning` [INFO] [stdout] --> src/ast.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::lexer::Spanning; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Root` [INFO] [stdout] --> src/ast.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use super::orefs::{Root, Gc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::ast` [INFO] [stdout] --> src/parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use super::ast; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:67 [INFO] [stdout] | [INFO] [stdout] 50 | Ok(ref stmt) => match exec(&mut km, &mut env, stmt) { [INFO] [stdout] | ^^^^ expected struct `Root`, found reference [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found reference `&Root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:50:67 [INFO] [stdout] | [INFO] [stdout] 50 | Ok(ref stmt) => match exec(&mut km, &mut env, stmt) { [INFO] [stdout] | ^^^^ expected struct `Root`, found `&Root` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found reference `&Root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(chars))), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(Box::new(tokens.spanning(Expr::Const(Int::new(km, Int(n)).as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_true().as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:80:16 [INFO] [stdout] | [INFO] [stdout] 80 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_false().as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:95:44 [INFO] [stdout] | [INFO] [stdout] 95 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | l = Box::new(tokens.spanning(Expr::Mul(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:101:30 [INFO] [stdout] | [INFO] [stdout] 101 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:101:44 [INFO] [stdout] | [INFO] [stdout] 101 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | l = Box::new(tokens.spanning(Expr::Div(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:118:30 [INFO] [stdout] | [INFO] [stdout] 118 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:118:44 [INFO] [stdout] | [INFO] [stdout] 118 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | l = Box::new(tokens.spanning(Expr::Add(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:124:44 [INFO] [stdout] | [INFO] [stdout] 124 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | l = Box::new(tokens.spanning(Expr::Sub(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 142 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(Box::new(tokens.spanning(Expr::Var(Arc::new(String::from(chars))), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | l = Box::new(tokens.spanning(Expr::Lt(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:148:30 [INFO] [stdout] | [INFO] [stdout] 148 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:148:44 [INFO] [stdout] | [INFO] [stdout] 148 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | l = Box::new(tokens.spanning(Expr::Le(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:154:30 [INFO] [stdout] | [INFO] [stdout] 154 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | Ok(Box::new(tokens.spanning(Expr::Const(Int::new(km, Int(n)).as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | l = Box::new(tokens.spanning(Expr::Eq(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:160:30 [INFO] [stdout] | [INFO] [stdout] 160 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:160:44 [INFO] [stdout] | [INFO] [stdout] 160 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | l = Box::new(tokens.spanning(Expr::Ne(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:166:30 [INFO] [stdout] | [INFO] [stdout] 166 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:166:44 [INFO] [stdout] | [INFO] [stdout] 166 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_true().as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | l = Box::new(tokens.spanning(Expr::Gt(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:172:30 [INFO] [stdout] | [INFO] [stdout] 172 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:172:44 [INFO] [stdout] | [INFO] [stdout] 172 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | l = Box::new(tokens.spanning(Expr::Ge(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:80:16 [INFO] [stdout] | [INFO] [stdout] 80 | Ok(Box::new(tokens.spanning(Expr::Const(km.the_false().as_obj()), tok.span))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:95:44 [INFO] [stdout] | [INFO] [stdout] 95 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:202:23 [INFO] [stdout] | [INFO] [stdout] 202 | Ok(Tuple::new(km, &stmts)) [INFO] [stdout] | ^^^^^^ expected slice, found struct `Vec` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&[Gc]` [INFO] [stdout] found reference `&Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `value` on type `Root` [INFO] [stdout] --> src/eval.rs:49:26 [INFO] [stdout] | [INFO] [stdout] 49 | let res = match expr.value { [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `here` found for struct `Root` in the current scope [INFO] [stdout] --> src/eval.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | res.map_err(|err| expr.here(err)) [INFO] [stdout] | ^^^^ method not found in `Root` [INFO] [stdout] | [INFO] [stdout] ::: src/orefs.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Root(Rc>>); [INFO] [stdout] | ------------------------------------ method `here` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | l = Box::new(tokens.spanning(Expr::Mul(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:101:30 [INFO] [stdout] | [INFO] [stdout] 101 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:101:44 [INFO] [stdout] | [INFO] [stdout] 101 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 69 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0433, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kyy` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | l = Box::new(tokens.spanning(Expr::Div(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:118:30 [INFO] [stdout] | [INFO] [stdout] 118 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:118:44 [INFO] [stdout] | [INFO] [stdout] 118 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | l = Box::new(tokens.spanning(Expr::Add(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:124:44 [INFO] [stdout] | [INFO] [stdout] 124 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:125:21 [INFO] [stdout] | [INFO] [stdout] 125 | l = Box::new(tokens.spanning(Expr::Sub(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 142 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | l = Box::new(tokens.spanning(Expr::Lt(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:148:30 [INFO] [stdout] | [INFO] [stdout] 148 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:148:44 [INFO] [stdout] | [INFO] [stdout] 148 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | l = Box::new(tokens.spanning(Expr::Le(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:154:30 [INFO] [stdout] | [INFO] [stdout] 154 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:154:44 [INFO] [stdout] | [INFO] [stdout] 154 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | l = Box::new(tokens.spanning(Expr::Eq(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:160:30 [INFO] [stdout] | [INFO] [stdout] 160 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:160:44 [INFO] [stdout] | [INFO] [stdout] 160 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | l = Box::new(tokens.spanning(Expr::Ne(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:166:30 [INFO] [stdout] | [INFO] [stdout] 166 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:166:44 [INFO] [stdout] | [INFO] [stdout] 166 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:167:21 [INFO] [stdout] | [INFO] [stdout] 167 | l = Box::new(tokens.spanning(Expr::Gt(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:172:30 [INFO] [stdout] | [INFO] [stdout] 172 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `span` on type `Root` [INFO] [stdout] --> src/parser.rs:172:44 [INFO] [stdout] | [INFO] [stdout] 172 | let span = l.span.start..r.span.end; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:173:21 [INFO] [stdout] | [INFO] [stdout] 173 | l = Box::new(tokens.spanning(Expr::Ge(l, r), span)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Root`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Root` [INFO] [stdout] found struct `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:202:23 [INFO] [stdout] | [INFO] [stdout] 202 | Ok(Tuple::new(km, &stmts)) [INFO] [stdout] | ^^^^^^ expected slice, found struct `Vec` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&[orefs::Gc]` [INFO] [stdout] found reference `&Vec>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `value` on type `Root` [INFO] [stdout] --> src/eval.rs:49:26 [INFO] [stdout] | [INFO] [stdout] 49 | let res = match expr.value { [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `here` found for struct `Root` in the current scope [INFO] [stdout] --> src/eval.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | res.map_err(|err| expr.here(err)) [INFO] [stdout] | ^^^^ method not found in `Root` [INFO] [stdout] | [INFO] [stdout] ::: src/orefs.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Root(Rc>>); [INFO] [stdout] | ------------------------------------ method `here` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 69 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0433, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "be070672c188e26495e9e48e12467466fa68b456ded0186cf81a9001446848b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be070672c188e26495e9e48e12467466fa68b456ded0186cf81a9001446848b8", kill_on_drop: false }` [INFO] [stdout] be070672c188e26495e9e48e12467466fa68b456ded0186cf81a9001446848b8