[INFO] cloning repository https://github.com/tawashichan/t_lang_rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tawashichan/t_lang_rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ft_lang_rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ft_lang_rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 05d0dba0010e66fecab1cddee0727477b1331710 [INFO] checking tawashichan/t_lang_rs against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ft_lang_rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tawashichan/t_lang_rs [INFO] finished tweaking git repo https://github.com/tawashichan/t_lang_rs [INFO] tweaked toml for git repo https://github.com/tawashichan/t_lang_rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tawashichan/t_lang_rs on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tawashichan/t_lang_rs 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" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9e3801c9dad2e44dff930918f454d8cd36e7eac414b5e4e268be2c6f3d5e2bc6 [INFO] running `Command { std: "docker" "start" "-a" "9e3801c9dad2e44dff930918f454d8cd36e7eac414b5e4e268be2c6f3d5e2bc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9e3801c9dad2e44dff930918f454d8cd36e7eac414b5e4e268be2c6f3d5e2bc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e3801c9dad2e44dff930918f454d8cd36e7eac414b5e4e268be2c6f3d5e2bc6", kill_on_drop: false }` [INFO] [stdout] 9e3801c9dad2e44dff930918f454d8cd36e7eac414b5e4e268be2c6f3d5e2bc6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52bd7049c7d362a0a1e080f2b3466ec1b0206d31547352bc983dde0debefe0f7 [INFO] running `Command { std: "docker" "start" "-a" "52bd7049c7d362a0a1e080f2b3466ec1b0206d31547352bc983dde0debefe0f7", kill_on_drop: false }` [INFO] [stderr] Checking t_lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(box_syntax)] [INFO] [stdout] | ^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.70.0; see for more information [INFO] [stdout] = note: replaced with `#[rustc_box]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (r,Stmt::FuncDec(s.clone(),args,typ,box block)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 140 - (r,Stmt::FuncDec(s.clone(),args,typ,box block)) [INFO] [stdout] 140 + (r,Stmt::FuncDec(s.clone(),args,typ,Box::new(block))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:33 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(Box::new(cond),box then,box Some(els))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:42 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(box cond,Box::new(then),box Some(els))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:51 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(box cond,box then,Box::new(Some(els)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:33 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(Box::new(cond),box then,box None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:42 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(box cond,Box::new(then),box None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:51 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(box cond,box then,Box::new(None))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:292:31 [INFO] [stdout] | [INFO] [stdout] 292 | (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 292 - (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] 292 + (rest,Exp::VarExp(Box::new(Var::Var(s.clone())))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(box_syntax)] [INFO] [stdout] | ^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.70.0; see for more information [INFO] [stdout] = note: replaced with `#[rustc_box]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (r,Stmt::FuncDec(s.clone(),args,typ,box block)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 140 - (r,Stmt::FuncDec(s.clone(),args,typ,box block)) [INFO] [stdout] 140 + (r,Stmt::FuncDec(s.clone(),args,typ,Box::new(block))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:33 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(Box::new(cond),box then,box Some(els))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:42 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(box cond,Box::new(then),box Some(els))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:277:51 [INFO] [stdout] | [INFO] [stdout] 277 | (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 277 - (rr,Exp::If(box cond,box then,box Some(els))) [INFO] [stdout] 277 + (rr,Exp::If(box cond,box then,Box::new(Some(els)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:33 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(Box::new(cond),box then,box None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:42 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(box cond,Box::new(then),box None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:280:51 [INFO] [stdout] | [INFO] [stdout] 280 | (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 280 - (re,Exp::If(box cond,box then,box None)) [INFO] [stdout] 280 + (re,Exp::If(box cond,box then,Box::new(None))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:292:31 [INFO] [stdout] | [INFO] [stdout] 292 | (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 292 - (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] 292 + (rest,Exp::VarExp(Box::new(Var::Var(s.clone())))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:428:28 [INFO] [stdout] | [INFO] [stdout] 428 | assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 428 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 428 + assert_eq!(exp,Exp::If(Box::new(Exp::BoolExp(true)),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:428:51 [INFO] [stdout] | [INFO] [stdout] 428 | assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 428 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 428 + assert_eq!(exp,Exp::If(box Exp::BoolExp(true),Box::new(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:428:108 [INFO] [stdout] | [INFO] [stdout] 428 | ...Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 428 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 428 + assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),Box::new(Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]))))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:435:28 [INFO] [stdout] | [INFO] [stdout] 435 | assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 435 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 435 + assert_eq!(exp,Exp::If(Box::new(Exp::BoolExp(true)),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:435:51 [INFO] [stdout] | [INFO] [stdout] 435 | assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 435 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 435 + assert_eq!(exp,Exp::If(box Exp::BoolExp(true),Box::new(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:435:108 [INFO] [stdout] | [INFO] [stdout] 435 | ...Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 435 - assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),box Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))])))) [INFO] [stdout] 435 + assert_eq!(exp,Exp::If(box Exp::BoolExp(true),box Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]),Box::new(Some(Stmt::Block(vec![Stmt::ExpStmt(Exp::BoolExp(true))]))))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:487:81 [INFO] [stdout] | [INFO] [stdout] 487 | assert_eq!(stmts,vec![Stmt::Assign(Var::Var("hoge".to_string()),Exp::VarExp(box Var::Var("huga".to_string())))]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 487 - assert_eq!(stmts,vec![Stmt::Assign(Var::Var("hoge".to_string()),Exp::VarExp(box Var::Var("huga".to_string())))]); [INFO] [stdout] 487 + assert_eq!(stmts,vec![Stmt::Assign(Var::Var("hoge".to_string()),Exp::VarExp(Box::new(Var::Var("huga".to_string()))))]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/parser.rs:495:70 [INFO] [stdout] | [INFO] [stdout] 495 | assert_eq!(stmts,vec![Stmt::Block(vec![Stmt::ExpStmt(Exp::VarExp(box Var::Var("hoge".to_string())))])]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 495 - assert_eq!(stmts,vec![Stmt::Block(vec![Stmt::ExpStmt(Exp::VarExp(box Var::Var("hoge".to_string())))])]); [INFO] [stdout] 495 + assert_eq!(stmts,vec![Stmt::Block(vec![Stmt::ExpStmt(Exp::VarExp(Box::new(Var::Var("hoge".to_string()))))])]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:72:110 [INFO] [stdout] | [INFO] [stdout] 72 | ...at!("bb"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))]))]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 72 - let stmts = vec![FuncDec(format!("hoge"), vec![(format!("aa"), IntTyp),(format!("bb"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))]))]; [INFO] [stdout] 72 + let stmts = vec![FuncDec(format!("hoge"), vec![(format!("aa"), IntTyp),(format!("bb"), IntTyp)], IntTyp, Box::new(Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:116:87 [INFO] [stdout] | [INFO] [stdout] 116 | ...t!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!("hu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 116 - let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] 116 + let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, Box::new(Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))]))), Return(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:130:105 [INFO] [stdout] | [INFO] [stdout] 130 | ...(format!("Hoge")))], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!("hu... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 130 - let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), NameTyp(format!("Hoge")))], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] 130 + let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), NameTyp(format!("Hoge")))], IntTyp, Box::new(Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))]))), Return(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:145:87 [INFO] [stdout] | [INFO] [stdout] 145 | ...tTyp)], IntTyp, box Block(vec![Assign(Var(format!("a")), IntExp(10)),ExpStmt(Exp::VarExp(box Var("a".to_string())))])),ExpStmt(CallFun... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 145 - let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Assign(Var(format!("a")), IntExp(10)),ExpStmt(Exp::VarExp(box Var("a".to_string())))])),ExpStmt(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] 145 + let stmts = vec![FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, Box::new(Block(vec![Assign(Var(format!("a")), IntExp(10)),ExpStmt(Exp::VarExp(box Var("a".to_string())))]))),ExpStmt(CallFunc(format!("huga"), vec![IntExp(1)]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:162:128 [INFO] [stdout] | [INFO] [stdout] 162 | ...IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(forma... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 162 - let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] 162 + let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, Box::new(Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))]))), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:162:361 [INFO] [stdout] | [INFO] [stdout] 162 | ...rmat!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])]))... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 162 - let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] 162 + let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(Box::new(Var(format!("hoge")))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:162:395 [INFO] [stdout] | [INFO] [stdout] 162 | ...huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print")... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 162 - let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] 162 + let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(Box::new(Var(format!("tawawa"))))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/main.rs:162:489 [INFO] [stdout] | [INFO] [stdout] 162 | ...)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 162 - let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(box Var(format!("aaa")))]))]; [INFO] [stdout] 162 + let stmts = vec![Assign(Var(format!("hoge")), IntExp(1)), FuncDec(format!("huga"), vec![(format!("foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(format!("aaa")), CallFunc(format!("+"), vec![IntExp(4), CallFunc(format!("+"), vec![CallFunc(format!("huga"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("print"), vec![VarExp(Box::new(Var(format!("aaa"))))]))]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest..] => match first { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest @ ..] => match first { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:47:26 [INFO] [stdout] | [INFO] [stdout] 47 | '\"' => (acm,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:48:31 [INFO] [stdout] | [INFO] [stdout] 48 | _c => get_str_sub(rest,format!("{}{}",acm,first)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest @ ..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:56:41 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest @ ..] => (Token::STRING(acm),rest), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:63:46 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest @ ..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:64:42 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest..] if first.is_alphabetic() => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest @ ..] if first.is_alphabetic() => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:76:29 [INFO] [stdout] | [INFO] [stdout] 76 | get_keyword_sub(rest, format!("{}{}", acm, first)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | get_num_str_sub(rest, format!("{}{}",acm,first),is_float,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:105:33 [INFO] [stdout] | [INFO] [stdout] 105 | get_num_str_sub(rest, format!("{}{}",acm,first),is_float,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:107:33 [INFO] [stdout] | [INFO] [stdout] 107 | get_num_str_sub(rest,format!("{}{}",acm,first),true,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest..] => match first { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest @ ..] => match first { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | '\n' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:121:31 [INFO] [stdout] | [INFO] [stdout] 121 | ' ' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | '\t' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:123:35 [INFO] [stdout] | [INFO] [stdout] 123 | '=' => (Token::EQUAL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:124:34 [INFO] [stdout] | [INFO] [stdout] 124 | '(' => (Token::LPAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:125:34 [INFO] [stdout] | [INFO] [stdout] 125 | ')' => (Token::RPAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | '{' => (Token::LBRACE, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:127:36 [INFO] [stdout] | [INFO] [stdout] 127 | '}' => (Token::RBRACE, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:128:38 [INFO] [stdout] | [INFO] [stdout] 128 | '[' => (Token::LBRACKET, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:129:38 [INFO] [stdout] | [INFO] [stdout] 129 | ']' => (Token::RBRACKET, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:130:35 [INFO] [stdout] | [INFO] [stdout] 130 | ':' => (Token::COLON, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:131:35 [INFO] [stdout] | [INFO] [stdout] 131 | ',' => (Token::COMMA, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:132:34 [INFO] [stdout] | [INFO] [stdout] 132 | '+' => (Token::PLUS, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | '-' => (Token::MINUS, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:134:33 [INFO] [stdout] | [INFO] [stdout] 134 | '*' => (Token::MUL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:135:33 [INFO] [stdout] | [INFO] [stdout] 135 | '/' => (Token::DIV, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:136:32 [INFO] [stdout] | [INFO] [stdout] 136 | '!' => (Token::NOT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | '>' => (Token::GT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | '<' => (Token::LT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 23 | let (res,stmts) = parse_stmts(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re @ ..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,res..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:56:39 [INFO] [stdout] | [INFO] [stdout] 56 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest @ ..] => parse_function(tokens), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:61:39 [INFO] [stdout] | [INFO] [stdout] 61 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest @ ..] => parse_struct(tokens), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:92:36 [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:96:22 [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:109:56 [INFO] [stdout] | [INFO] [stdout] 109 | let (res,contents) = parse_struct_contents(rest,&mut map); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re @ ..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,res..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:123:40 [INFO] [stdout] | [INFO] [stdout] 123 | let (res,typ) = parse_type(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | parse_struct_contents(rest,contents) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:136:40 [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:137:50 [INFO] [stdout] | [INFO] [stdout] 137 | let (res,args) = parse_func_def_args(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:149:49 [INFO] [stdout] | [INFO] [stdout] 149 | let (res,args) = parse_func_def_arg(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:151:30 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re @ ..] => (re,args), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,res..] => (re,args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:151:40 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest @ ..] => parse_func_def_arg(rest,args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest @ ..] => (tokens,args.to_vec()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:164:40 [INFO] [stdout] | [INFO] [stdout] 164 | let (res,typ) = parse_type(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:174:36 [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:175:50 [INFO] [stdout] | [INFO] [stdout] 175 | let (res,args) = parse_func_call_arg(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,res..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:178:22 [INFO] [stdout] | [INFO] [stdout] 178 | (re,args) [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:189:22 [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest @ ..] => (tokens, args.to_vec()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest @ ..] => parse_func_call_arg(rest, args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:190:55 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest @ ..] => (rest,parse_type_str(s)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:210:36 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:211:24 [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest @ ..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:220:37 [INFO] [stdout] | [INFO] [stdout] 220 | let (re,ex) = parse_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:223:23 [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | let (re,ex) = parse_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:247:40 [INFO] [stdout] | [INFO] [stdout] 247 | let (re,ex) = parse_op_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:251:40 [INFO] [stdout] | [INFO] [stdout] 251 | let (re,ex) = parse_op_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:261:39 [INFO] [stdout] | [INFO] [stdout] 261 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,res..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:264:22 [INFO] [stdout] | [INFO] [stdout] 264 | (re,exp) [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:272:40 [INFO] [stdout] | [INFO] [stdout] 272 | let (res,cond) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `r` in this scope [INFO] [stdout] --> src/parser.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r..] => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `r`, use the at operator [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,re..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `r` in this scope [INFO] [stdout] --> src/parser.rs:276:48 [INFO] [stdout] | [INFO] [stdout] 276 | let (rr,els) = parse_block(r); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `re` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:285:14 [INFO] [stdout] | [INFO] [stdout] 285 | (rest,Exp::IntExp(*i)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:287:36 [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:291:24 [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:292:14 [INFO] [stdout] | [INFO] [stdout] 292 | (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:294:28 [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest..] => [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest @ ..] => [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (rest, Exp::StrExp(s.clone())), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:297:39 [INFO] [stdout] | [INFO] [stdout] 297 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:301:14 [INFO] [stdout] | [INFO] [stdout] 301 | (rest,Exp::BoolExp(true)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:303:23 [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:304:14 [INFO] [stdout] | [INFO] [stdout] 304 | (rest,Exp::BoolExp(false)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:307:44 [INFO] [stdout] | [INFO] [stdout] 307 | let (rest,array) = parse_array(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:318:26 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest @ ..] => (rest,acm.clone()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:318:38 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:319:23 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest @ ..] => parse_array(rest, acm), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:319:46 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | eval_block_sub(rest, &env) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest..] if first.is_alphabetic() => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:92:36 [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:96:22 [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:136:40 [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:151:30 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:174:36 [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:189:22 [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:211:24 [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:223:23 [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:227:23 [INFO] [stdout] | [INFO] [stdout] 227 | [Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | [Token::GT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | [Token::LT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:287:36 [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:291:24 [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:294:28 [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest..] => [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:303:23 [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:318:26 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:319:23 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/eval.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/eval.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::Token` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::lexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest..] => match first { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest @ ..] => match first { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:47:26 [INFO] [stdout] | [INFO] [stdout] 47 | '\"' => (acm,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:48:31 [INFO] [stdout] | [INFO] [stdout] 48 | _c => get_str_sub(rest,format!("{}{}",acm,first)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest @ ..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:56:41 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest @ ..] => (Token::STRING(acm),rest), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:63:46 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest @ ..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:64:42 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest..] if first.is_alphabetic() => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest @ ..] if first.is_alphabetic() => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:76:29 [INFO] [stdout] | [INFO] [stdout] 76 | get_keyword_sub(rest, format!("{}{}", acm, first)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | get_num_str_sub(rest, format!("{}{}",acm,first),is_float,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:105:33 [INFO] [stdout] | [INFO] [stdout] 105 | get_num_str_sub(rest, format!("{}{}",acm,first),is_float,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:107:33 [INFO] [stdout] | [INFO] [stdout] 107 | get_num_str_sub(rest,format!("{}{}",acm,first),true,is_minus) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest..] => match first { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest @ ..] => match first { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | '\n' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:121:31 [INFO] [stdout] | [INFO] [stdout] 121 | ' ' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | '\t' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:123:35 [INFO] [stdout] | [INFO] [stdout] 123 | '=' => (Token::EQUAL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:124:34 [INFO] [stdout] | [INFO] [stdout] 124 | '(' => (Token::LPAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:125:34 [INFO] [stdout] | [INFO] [stdout] 125 | ')' => (Token::RPAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | '{' => (Token::LBRACE, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:127:36 [INFO] [stdout] | [INFO] [stdout] 127 | '}' => (Token::RBRACE, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:128:38 [INFO] [stdout] | [INFO] [stdout] 128 | '[' => (Token::LBRACKET, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:129:38 [INFO] [stdout] | [INFO] [stdout] 129 | ']' => (Token::RBRACKET, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:130:35 [INFO] [stdout] | [INFO] [stdout] 130 | ':' => (Token::COLON, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:131:35 [INFO] [stdout] | [INFO] [stdout] 131 | ',' => (Token::COMMA, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:132:34 [INFO] [stdout] | [INFO] [stdout] 132 | '+' => (Token::PLUS, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:133:35 [INFO] [stdout] | [INFO] [stdout] 133 | '-' => (Token::MINUS, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:134:33 [INFO] [stdout] | [INFO] [stdout] 134 | '*' => (Token::MUL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:135:33 [INFO] [stdout] | [INFO] [stdout] 135 | '/' => (Token::DIV, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:136:32 [INFO] [stdout] | [INFO] [stdout] 136 | '!' => (Token::NOT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:137:31 [INFO] [stdout] | [INFO] [stdout] 137 | '>' => (Token::GT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:138:31 [INFO] [stdout] | [INFO] [stdout] 138 | '<' => (Token::LT,rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 23 | let (res,stmts) = parse_stmts(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re @ ..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,res..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:56:39 [INFO] [stdout] | [INFO] [stdout] 56 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest @ ..] => parse_function(tokens), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:61:39 [INFO] [stdout] | [INFO] [stdout] 61 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest @ ..] => parse_struct(tokens), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest @ ..] => CheckNext::Stmt, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:92:36 [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(slice_patterns)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:96:22 [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest @ ..] => CheckNext::Expr, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:109:56 [INFO] [stdout] | [INFO] [stdout] 109 | let (res,contents) = parse_struct_contents(rest,&mut map); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re @ ..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,res..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:111:42 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:123:40 [INFO] [stdout] | [INFO] [stdout] 123 | let (res,typ) = parse_type(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | parse_struct_contents(rest,contents) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:136:40 [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:137:50 [INFO] [stdout] | [INFO] [stdout] 137 | let (res,args) = parse_func_def_args(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:149:49 [INFO] [stdout] | [INFO] [stdout] 149 | let (res,args) = parse_func_def_arg(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:151:30 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re @ ..] => (re,args), [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,res..] => (re,args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:151:40 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest @ ..] => parse_func_def_arg(rest,args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest @ ..] => (tokens,args.to_vec()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:164:40 [INFO] [stdout] | [INFO] [stdout] 164 | let (res,typ) = parse_type(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:174:36 [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:175:50 [INFO] [stdout] | [INFO] [stdout] 175 | let (res,args) = parse_func_call_arg(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,res..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:178:22 [INFO] [stdout] | [INFO] [stdout] 178 | (re,args) [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:189:22 [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest @ ..] => (tokens, args.to_vec()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest @ ..] => parse_func_call_arg(rest, args), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:190:55 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest @ ..] => (rest,parse_type_str(s)), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:210:36 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:211:24 [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest @ ..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:220:37 [INFO] [stdout] | [INFO] [stdout] 220 | let (re,ex) = parse_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:223:23 [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | let (re,ex) = parse_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:247:40 [INFO] [stdout] | [INFO] [stdout] 247 | let (re,ex) = parse_op_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `res`, use the at operator [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,rest..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:251:40 [INFO] [stdout] | [INFO] [stdout] 251 | let (re,ex) = parse_op_exp(res); [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:261:39 [INFO] [stdout] | [INFO] [stdout] 261 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `re`, use the at operator [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,res..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:264:22 [INFO] [stdout] | [INFO] [stdout] 264 | (re,exp) [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:272:40 [INFO] [stdout] | [INFO] [stdout] 272 | let (res,cond) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `r` in this scope [INFO] [stdout] --> src/parser.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r..] => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `r`, use the at operator [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,re..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `r` in this scope [INFO] [stdout] --> src/parser.rs:276:48 [INFO] [stdout] | [INFO] [stdout] 276 | let (rr,els) = parse_block(r); [INFO] [stdout] | ^ help: a local variable with a similar name exists: `re` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:285:14 [INFO] [stdout] | [INFO] [stdout] 285 | (rest,Exp::IntExp(*i)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:287:36 [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:291:24 [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:292:14 [INFO] [stdout] | [INFO] [stdout] 292 | (rest,Exp::VarExp(box Var::Var(s.clone()))) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:294:28 [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest..] => [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest @ ..] => [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:295:14 [INFO] [stdout] | [INFO] [stdout] 295 | (rest, Exp::StrExp(s.clone())), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:297:39 [INFO] [stdout] | [INFO] [stdout] 297 | let (res,exp) = parse_exp(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:301:14 [INFO] [stdout] | [INFO] [stdout] 301 | (rest,Exp::BoolExp(true)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:303:23 [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:304:14 [INFO] [stdout] | [INFO] [stdout] 304 | (rest,Exp::BoolExp(false)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:307:44 [INFO] [stdout] | [INFO] [stdout] 307 | let (rest,array) = parse_array(rest,&mut vec![]); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:318:26 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest @ ..] => (rest,acm.clone()), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:318:38 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:319:23 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest @ ..] => parse_array(rest, acm), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:319:46 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/eval.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | eval_block_sub(rest, &env) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | [first,rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | ['\"',rest..] => get_string_sub(rest,"".to_string()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ['\"',rest..] => (Token::STRING(acm),rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | [first,rest..] => get_string_sub(rest,format!("{}{}", acm, first)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | [first, rest..] if first.is_alphabetic() => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | [first,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/lexer.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::RBRACE,re..] => (re,Stmt::Block(stmts)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | [Token::LET,Token::VAR(s),Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::RETURN,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | [Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:84:26 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:92:36 [INFO] [stdout] | [INFO] [stdout] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:96:22 [INFO] [stdout] | [INFO] [stdout] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | [Token::STRUCT,Token::VAR(s),Token::LBRACE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | [Token::RBRACE,re..] => (re,Stmt::StructDec(s.clone(),contents.to_owned())), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | [Token::VAR(s),Token::COLON,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | [Token::COMMA,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:136:40 [INFO] [stdout] | [INFO] [stdout] 136 | [Token::FUNCTION,Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:151:30 [INFO] [stdout] | [INFO] [stdout] 151 | [Token::RPAR,re..] => (re,args), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:161:23 [INFO] [stdout] | [INFO] [stdout] 161 | [Token::COMMA,rest..] => parse_func_def_arg(rest,args), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:174:36 [INFO] [stdout] | [INFO] [stdout] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:177:30 [INFO] [stdout] | [INFO] [stdout] 177 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:189:22 [INFO] [stdout] | [INFO] [stdout] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | [Token::COMMA, rest..] => parse_func_call_arg(rest, args), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | [Token::VAR(s),rest..] => (rest,parse_type_str(s)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:211:24 [INFO] [stdout] | [INFO] [stdout] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | [Token::PLUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:223:23 [INFO] [stdout] | [INFO] [stdout] 223 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:227:23 [INFO] [stdout] | [INFO] [stdout] 227 | [Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | [Token::GT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | [Token::LT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:246:21 [INFO] [stdout] | [INFO] [stdout] 246 | [Token::MUL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | [Token::DIV,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | [Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 263 | [Token::RPAR,re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:271:20 [INFO] [stdout] | [INFO] [stdout] 271 | [Token::IF,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | [Token::ELSE,r..] => { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:284:24 [INFO] [stdout] | [INFO] [stdout] 284 | [Token::INT(i),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:287:36 [INFO] [stdout] | [INFO] [stdout] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:291:24 [INFO] [stdout] | [INFO] [stdout] 291 | [Token::VAR(s),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:294:28 [INFO] [stdout] | [INFO] [stdout] 294 | [Token::STRING(s), rest..] => [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | [Token::NOT,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:300:22 [INFO] [stdout] | [INFO] [stdout] 300 | [Token::TRUE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:303:23 [INFO] [stdout] | [INFO] [stdout] 303 | [Token::FALSE,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:306:26 [INFO] [stdout] | [INFO] [stdout] 306 | [Token::LBRACKET,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:318:26 [INFO] [stdout] | [INFO] [stdout] 318 | [Token::RBRACKET,rest..] => (rest,acm.clone()), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/parser.rs:319:23 [INFO] [stdout] | [INFO] [stdout] 319 | [Token::COMMA,rest..] => parse_array(rest, acm), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/eval.rs:85:28 [INFO] [stdout] | [INFO] [stdout] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/eval.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | [first,rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-19; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `init_prog` [INFO] [stdout] --> src/eval.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ast::{Typ,Exp,Stmt,Prog,Var,init_prog}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::*` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::ast::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::Stmt::*` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::ast::Stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::Exp::*` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::ast::Exp::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::Typ::*` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::ast::Typ::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::Var::*` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::ast::Var::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexer::Token` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::lexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(slice_patterns)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:227:23 [INFO] [stdout] | [INFO] [stdout] 227 | [Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `t_lang` (bin "t_lang") due to 210 previous errors; 20 warnings emitted [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | [Token::GT,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | [Token::LT,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:41:46 [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:227:23 [INFO] [stdout] | [INFO] [stdout] 227 | [Token::EQUAL,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:231:20 [INFO] [stdout] | [INFO] [stdout] 231 | [Token::GT,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | [Token::LT,rest..] => { [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:332:10 [INFO] [stdout] | [INFO] [stdout] 332 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/eval.rs:26:56 [INFO] [stdout] | [INFO] [stdout] 26 | p.stmts.into_iter().fold((Object::NoneObj,env), |(obj,e),current| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:339:10 [INFO] [stdout] | [INFO] [stdout] 339 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:346:10 [INFO] [stdout] | [INFO] [stdout] 346 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `t_lang` (bin "t_lang" test) due to 226 previous errors; 34 warnings emitted [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/eval.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/eval.rs:52:82 [INFO] [stdout] | [INFO] [stdout] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:353:10 [INFO] [stdout] | [INFO] [stdout] 353 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:360:10 [INFO] [stdout] | [INFO] [stdout] 360 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:368:14 [INFO] [stdout] | [INFO] [stdout] 368 | let (rest, exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exp` [INFO] [stdout] --> src/parser.rs:368:20 [INFO] [stdout] | [INFO] [stdout] 368 | let (rest, exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_exp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:377:10 [INFO] [stdout] | [INFO] [stdout] 377 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:384:10 [INFO] [stdout] | [INFO] [stdout] 384 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:391:10 [INFO] [stdout] | [INFO] [stdout] 391 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:398:10 [INFO] [stdout] | [INFO] [stdout] 398 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:405:10 [INFO] [stdout] | [INFO] [stdout] 405 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:412:10 [INFO] [stdout] | [INFO] [stdout] 412 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:420:10 [INFO] [stdout] | [INFO] [stdout] 420 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:441:10 [INFO] [stdout] | [INFO] [stdout] 441 | let (rest,stmt) = parse_stmt(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:450:10 [INFO] [stdout] | [INFO] [stdout] 450 | let (rest, exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/eval.rs:355:21 [INFO] [stdout] | [INFO] [stdout] 355 | Object::Int(i) => match expected { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/eval.rs:359:23 [INFO] [stdout] | [INFO] [stdout] 359 | Object::Bool(i) => match expected { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:457:10 [INFO] [stdout] | [INFO] [stdout] 457 | let (rest, exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:465:10 [INFO] [stdout] | [INFO] [stdout] 465 | let (rest,exp) = parse_exp(&tokens); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:472:10 [INFO] [stdout] | [INFO] [stdout] 472 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser.rs:479:10 [INFO] [stdout] | [INFO] [stdout] 479 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interactive.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | let (obj,e) = eval::eval_prog(ast,env); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/eval.rs:26:56 [INFO] [stdout] | [INFO] [stdout] 26 | p.stmts.into_iter().fold((Object::NoneObj,env), |(obj,e),current| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interactive.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut env = eval::init_env(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/eval.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/eval.rs:52:82 [INFO] [stdout] | [INFO] [stdout] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_index` [INFO] [stdout] --> src/compiler.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | let int_index = state.add_constant(Object::Int(i.clone())); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/gen_x86.rs:61:53 [INFO] [stdout] | [INFO] [stdout] 61 | fn gen_func_dec(name: &str, args: &[(String, Typ)], ret: &Typ, body: &Stmt) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/gen_x86.rs:101:45 [INFO] [stdout] | [INFO] [stdout] 101 | .fold("".to_string(), |acm, current| acm + "\nmov rdi, 1"); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let code = "let a = 1 [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/eval.rs:355:21 [INFO] [stdout] | [INFO] [stdout] 355 | Object::Int(i) => match expected { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/eval.rs:359:23 [INFO] [stdout] | [INFO] [stdout] 359 | Object::Bool(i) => match expected { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0029, E0425, E0557, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0029`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interactive.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | let (obj,e) = eval::eval_prog(ast,env); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interactive.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | let mut env = eval::init_env(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_index` [INFO] [stdout] --> src/compiler.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | let int_index = state.add_constant(Object::Int(i.clone())); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/gen_x86.rs:61:53 [INFO] [stdout] | [INFO] [stdout] 61 | fn gen_func_dec(name: &str, args: &[(String, Typ)], ret: &Typ, body: &Stmt) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/gen_x86.rs:101:45 [INFO] [stdout] | [INFO] [stdout] 101 | .fold("".to_string(), |acm, current| acm + "\nmov rdi, 1"); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/main.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let code = "let a = 1 [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0029, E0425, E0557, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0029`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "52bd7049c7d362a0a1e080f2b3466ec1b0206d31547352bc983dde0debefe0f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52bd7049c7d362a0a1e080f2b3466ec1b0206d31547352bc983dde0debefe0f7", kill_on_drop: false }` [INFO] [stdout] 52bd7049c7d362a0a1e080f2b3466ec1b0206d31547352bc983dde0debefe0f7