[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 try#0cb362313295507a2f4321c0e30cea0168f2fe71 for pr-138961-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ft_lang_rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tawashichan/t_lang_rs on toolchain 0cb362313295507a2f4321c0e30cea0168f2fe71
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "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" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking tawashichan/t_lang_rs against try#0cb362313295507a2f4321c0e30cea0168f2fe71 for pr-138961-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ft_lang_rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tawashichan/t_lang_rs on toolchain 0cb362313295507a2f4321c0e30cea0168f2fe71
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "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" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b4966d0b46028647fd501a1dd87ba7602f469a8f07f2e8f6d34b64229bee9229
[INFO] running `Command { std: "docker" "start" "-a" "b4966d0b46028647fd501a1dd87ba7602f469a8f07f2e8f6d34b64229bee9229", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4966d0b46028647fd501a1dd87ba7602f469a8f07f2e8f6d34b64229bee9229", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4966d0b46028647fd501a1dd87ba7602f469a8f07f2e8f6d34b64229bee9229", kill_on_drop: false }`
[INFO] [stdout] b4966d0b46028647fd501a1dd87ba7602f469a8f07f2e8f6d34b64229bee9229
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+0cb362313295507a2f4321c0e30cea0168f2fe71" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a1351a8c89cb2b18972af14243e4e03cbdeeacd8cc2bdad2a515185ce938cd3
[INFO] running `Command { std: "docker" "start" "-a" "6a1351a8c89cb2b18972af14243e4e03cbdeeacd8cc2bdad2a515185ce938cd3", 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 <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[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 <https://github.com/rust-lang/rust/pull/108471> 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: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: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: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: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: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: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: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: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...
[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...
[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 | ...t::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...
[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...
[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 | ...t::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 | ...!("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 | ..."foo"), IntTyp)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!(...
[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 | ...rmat!("Hoge")))], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![IntExp(1), IntExp(1)]))])), Return(CallFunc(format!(...
[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 | ...p)], IntTyp, box Block(vec![Assign(Var(format!("a")), IntExp(10)),ExpStmt(Exp::VarExp(box Var("a".to_string())))])),ExpStmt(Call...
[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 | ...Typ)], IntTyp, box Block(vec![Return(CallFunc(format!("+"), vec![VarExp(box Var(format!("foo"))), IntExp(1)]))])), Assign(Var(fo...
[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 | ...t!("+"), 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 | ...a"), vec![VarExp(box Var(format!("hoge"))), VarExp(box Var(format!("tawawa")))]), IntExp(7)])])), ExpStmt(CallFunc(format!("prin...
[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; consider upgrading it if it is out of date
[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[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 <https://github.com/rust-lang/rust/issues/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-11-17; 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)]` (part of `#[warn(unused)]`) on by default
[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] 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] 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] 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] 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] 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: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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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 <https://github.com/rust-lang/rust/issues/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-11-17; 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)]` (part of `#[warn(unused)]`) on by default
[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<std::error::Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) 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<dyn std::error::Error>> {
[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] 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<std::error::Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) 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<dyn std::error::Error>> {
[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] 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: `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)]` (part of `#[warn(unused)]`) on by default
[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: `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: `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: 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)]` (part of `#[warn(unused)]`) on by default
[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: `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] [stderr] error: could not compile `t_lang` (bin "t_lang") due to 210 previous errors; 20 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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)]` (part of `#[warn(unused)]`) 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] [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: `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: `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: 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: `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: `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: 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)]` (part of `#[warn(unused)]`) on by default
[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: `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] [stderr] error: could not compile `t_lang` (bin "t_lang" test) due to 226 previous errors; 34 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6a1351a8c89cb2b18972af14243e4e03cbdeeacd8cc2bdad2a515185ce938cd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a1351a8c89cb2b18972af14243e4e03cbdeeacd8cc2bdad2a515185ce938cd3", kill_on_drop: false }`
[INFO] [stdout] 6a1351a8c89cb2b18972af14243e4e03cbdeeacd8cc2bdad2a515185ce938cd3
