[INFO] cloning repository https://github.com/tawashichan/type_inference_sample [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tawashichan/type_inference_sample" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ftype_inference_sample", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ftype_inference_sample'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f21fbdd75c702bc74c35ac2819fb139de122bbb0 [INFO] checking tawashichan/type_inference_sample against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftawashichan%2Ftype_inference_sample" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tawashichan/type_inference_sample on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tawashichan/type_inference_sample [INFO] finished tweaking git repo https://github.com/tawashichan/type_inference_sample [INFO] tweaked toml for git repo https://github.com/tawashichan/type_inference_sample written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/tawashichan/type_inference_sample already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fae843ba409cc775f59b8cc6c80f4734bb03ff34d913bc33f63fc3892b7cc2b7 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "fae843ba409cc775f59b8cc6c80f4734bb03ff34d913bc33f63fc3892b7cc2b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fae843ba409cc775f59b8cc6c80f4734bb03ff34d913bc33f63fc3892b7cc2b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fae843ba409cc775f59b8cc6c80f4734bb03ff34d913bc33f63fc3892b7cc2b7", kill_on_drop: false }` [INFO] [stdout] fae843ba409cc775f59b8cc6c80f4734bb03ff34d913bc33f63fc3892b7cc2b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2ef979efbef119ee4e468499679e1fabc528be5531f4189e454c48f9b351d3f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c2ef979efbef119ee4e468499679e1fabc528be5531f4189e454c48f9b351d3f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.60 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking nanoid v0.1.3 [INFO] [stderr] Checking type_inference v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [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/ast.rs:234:23 [INFO] [stdout] | [INFO] [stdout] 234 | unify_sub(rest) [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/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [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/ast.rs:237:41 [INFO] [stdout] | [INFO] [stdout] 237 | ... let re: Vec = rest.iter().cloned().chain(vec![TypeEquation(f1_a.clone(),f2_a.clone()),TypeEquation(f1_b.clone(),f2_b.... [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/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [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/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [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/ast.rs:241:49 [INFO] [stdout] | [INFO] [stdout] 241 | let mut s = unify_sub(&assign(v,typ,rest)); [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/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match 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:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | '\"' => (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:45:31 [INFO] [stdout] | [INFO] [stdout] 45 | _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:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *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:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | 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:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, 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:90:33 [INFO] [stdout] | [INFO] [stdout] 90 | 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:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | 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:94:33 [INFO] [stdout] | [INFO] [stdout] 94 | 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:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match 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:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | '\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:107:31 [INFO] [stdout] | [INFO] [stdout] 107 | ' ' => 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:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | '\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:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | '=' => (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:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | '(' => (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:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | ')' => (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:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | '[' => (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:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | ']' => (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:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | '+' => (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:115:32 [INFO] [stdout] | [INFO] [stdout] 115 | '_' => (Token::ANY,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:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | '-' => match rest { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:117:49 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [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:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | _ => (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:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | ':' => match 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/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [INFO] [stdout] | ^^^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:121:48 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [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/ast.rs:234:23 [INFO] [stdout] | [INFO] [stdout] 234 | unify_sub(rest) [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/lexer.rs:122:33 [INFO] [stdout] | [INFO] [stdout] 122 | _ => 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/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [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/lexer.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | '<' => (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/ast.rs:237:41 [INFO] [stdout] | [INFO] [stdout] 237 | ... let re: Vec = rest.iter().cloned().chain(vec![TypeEquation(f1_a.clone(),f2_a.clone()),TypeEquation(f1_b.clone(),f2_b.... [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/lexer.rs:125:33 [INFO] [stdout] | [INFO] [stdout] 125 | '*' => (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/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [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/lexer.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | '|' => (Token::BAR, 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/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, 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:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | let (ex, re) = 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:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [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:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [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:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, 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:34:41 [INFO] [stdout] | [INFO] [stdout] 34 | let (ex, re) = 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:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,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:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | let (ex, re) = 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:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,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:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | let (ex, re) = 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:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [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/parser.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | let (exp, res) = 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:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:54:49 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [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:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), 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:58:54 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), 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:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), 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:61 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), 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:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), 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:60:55 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), 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:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), 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:61:57 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), 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:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [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:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [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:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [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:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, 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:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let (exp, res) = 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:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, 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:85:40 [INFO] [stdout] | [INFO] [stdout] 85 | let (exp, res) = 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:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), 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/parser.rs:95:62 [INFO] [stdout] | [INFO] [stdout] 95 | let ((f_v,v,exp),res) = parse_rec_fun(s.clone(), 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:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:98:45 [INFO] [stdout] | [INFO] [stdout] 98 | let (ex, r) = parse_exp(re)?; [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:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, 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:118:40 [INFO] [stdout] | [INFO] [stdout] 118 | let (exp, res) = 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:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:121:45 [INFO] [stdout] | [INFO] [stdout] 121 | let (ex, r) = parse_exp(re)?; [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rr` in this scope [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^ help: a tuple variant with a similar name exists: `Err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rr` in this scope [INFO] [stdout] --> src/parser.rs:124:54 [INFO] [stdout] | [INFO] [stdout] 124 | ... let (e, rrr) = parse_exp(rr)?; [INFO] [stdout] | ^^ help: a tuple variant with a similar name exists: `Err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | _ => Err(format!("{:?}", rest)), [INFO] [stdout] | ^^^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/ast.rs:241:49 [INFO] [stdout] | [INFO] [stdout] 241 | let mut s = unify_sub(&assign(v,typ,rest)); [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/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match 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:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | '\"' => (acm, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *first == '\'' => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:45:31 [INFO] [stdout] | [INFO] [stdout] 45 | _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:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *first == '\'' => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | get_keyword_sub(rest, format!("{}{}", acm, first)) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:90:33 [INFO] [stdout] | [INFO] [stdout] 90 | 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]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | 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:94:33 [INFO] [stdout] | [INFO] [stdout] 94 | 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[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match first { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | '\n' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:107:31 [INFO] [stdout] | [INFO] [stdout] 107 | ' ' => next_token(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | '\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:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | '=' => (Token::EQUAL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:110:34 [INFO] [stdout] | [INFO] [stdout] 110 | '(' => (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:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | ')' => (Token::RPAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | '[' => (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:113:38 [INFO] [stdout] | [INFO] [stdout] 113 | ']' => (Token::RBRACKET, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | '+' => (Token::PLUS, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [Token::LPAR, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:115:32 [INFO] [stdout] | [INFO] [stdout] 115 | '_' => (Token::ANY,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:116:26 [INFO] [stdout] | [INFO] [stdout] 116 | '-' => match rest { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:117:49 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:118:37 [INFO] [stdout] | [INFO] [stdout] 118 | _ => (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:120:26 [INFO] [stdout] | [INFO] [stdout] 120 | ':' => match rest { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/lexer.rs:121:48 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [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:33 [INFO] [stdout] | [INFO] [stdout] 122 | _ => next_token(rest) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | '<' => (Token::LT, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:125:33 [INFO] [stdout] | [INFO] [stdout] 125 | '*' => (Token::MUL, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/lexer.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | '|' => (Token::BAR, rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, res..] => { [INFO] [stdout] | ^^^ help: a local variable with a similar name exists: `rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), Token::EQUAL, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `res` in this scope [INFO] [stdout] --> src/parser.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | let (ex, re) = 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:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [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:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [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:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, 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:34:41 [INFO] [stdout] | [INFO] [stdout] 34 | let (ex, re) = 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:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,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:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | let (ex, re) = 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:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,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:42:41 [INFO] [stdout] | [INFO] [stdout] 42 | let (ex, re) = 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:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [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/parser.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | let (exp, res) = 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:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:54:49 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [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:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), 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:58:54 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), 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:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), 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:61 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), 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:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), 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:60:55 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), 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:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), 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:61:57 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), 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:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [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:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [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:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [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:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, 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:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let (exp, res) = 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:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, 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:85:40 [INFO] [stdout] | [INFO] [stdout] 85 | let (exp, res) = 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:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), 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/parser.rs:95:62 [INFO] [stdout] | [INFO] [stdout] 95 | let ((f_v,v,exp),res) = parse_rec_fun(s.clone(), 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:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:98:45 [INFO] [stdout] | [INFO] [stdout] 98 | let (ex, r) = parse_exp(re)?; [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:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, 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:118:40 [INFO] [stdout] | [INFO] [stdout] 118 | let (exp, res) = 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:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `re` in this scope [INFO] [stdout] --> src/parser.rs:121:45 [INFO] [stdout] | [INFO] [stdout] 121 | let (ex, r) = parse_exp(re)?; [INFO] [stdout] | ^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rr` in this scope [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^ help: a tuple variant with a similar name exists: `Err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rr` in this scope [INFO] [stdout] --> src/parser.rs:124:54 [INFO] [stdout] | [INFO] [stdout] 124 | ... let (e, rrr) = parse_exp(rr)?; [INFO] [stdout] | ^^ help: a tuple variant with a similar name exists: `Err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/parser.rs:130:42 [INFO] [stdout] | [INFO] [stdout] 130 | _ => Err(format!("{:?}", rest)), [INFO] [stdout] | ^^^^ help: a local variable with a similar name exists: `res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *first == '\'' => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *first == '\'' => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [Token::LPAR, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), Token::EQUAL, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unify` [INFO] [stdout] --> src/main.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use ast::{Exp,Op,TEnv,unify}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [Token::LPAR, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), Token::EQUAL, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: half-open range patterns are unstable [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] = help: add `#![feature(half_open_range_patterns)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:233:30 [INFO] [stdout] | [INFO] [stdout] 233 | [TypeEquation(t1,t2),rest..] if t1 == t2 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:236:84 [INFO] [stdout] | [INFO] [stdout] 236 | [TypeEquation(Type::Func(box f1_a,box f1_b),Type::Func(box f2_a,box f2_b)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:240:45 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/ast.rs:240:91 [INFO] [stdout] | [INFO] [stdout] 240 | [TypeEquation(Type::TypeVar(v),typ),rest..] | [TypeEquation(typ,Type::TypeVar(v)),rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | [first, rest..] if first.is_alphabetic() || first.is_numeric() || *first == '\'' => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | [first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | [first, rest..] => match first { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | ['>', res..] => (Token::RARROW, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/lexer.rs:121:22 [INFO] [stdout] | [INFO] [stdout] 121 | [':',res..] => (Token::JOINER, res), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | [Token::PLUS, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | [Token::RPAR, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | [Token::IN, res..] => Ok((exp, rest)), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | [Token::LT, res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | [Token::EQUAL,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | [Token::MINUS,res..] => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 51 | [Token::LPAR, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:54:31 [INFO] [stdout] | [INFO] [stdout] 54 | [Token::RPAR, re..] => Ok((exp, re)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | [Token::INT(i), rest..] => Ok((Exp::Int(*i), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:59:25 [INFO] [stdout] | [INFO] [stdout] 59 | [Token::VAR(s), rest..] => Ok((Exp::Var(s.clone()), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | [Token::TRUE, rest..] => Ok((Exp::Bool(true), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | [Token::FALSE, rest..] => Ok((Exp::Bool(false), rest)), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:62:34 [INFO] [stdout] | [INFO] [stdout] 62 | [Token::LET, Token::REC, rest..] => parse_let_rec(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | [Token::IF, rest..] => parse_if(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | [Token::FUNCTION, rest..] => parse_fun(tokens), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:74:57 [INFO] [stdout] | [INFO] [stdout] 74 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:84:57 [INFO] [stdout] | [INFO] [stdout] 84 | [Token::FUNCTION, Token::VAR(s), Token::RARROW, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:94:63 [INFO] [stdout] | [INFO] [stdout] 94 | [Token::LET, Token::REC, Token::VAR(s), Token::EQUAL, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | [Token::IN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | [Token::IF, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:120:31 [INFO] [stdout] | [INFO] [stdout] 120 | [Token::THEN, re..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: exclusive range pattern syntax is experimental [INFO] [stdout] --> src/parser.rs:123:39 [INFO] [stdout] | [INFO] [stdout] 123 | [Token::ELSE, rr..] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #37854 for more information [INFO] [stdout] = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unify` [INFO] [stdout] --> src/main.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use ast::{Exp,Op,TEnv,unify}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 145 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0029, E0425, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0029`. [INFO] [stdout] [INFO] [stdout] error[E0029]: only `char` and numeric types are allowed in range patterns [INFO] [stdout] --> src/parser.rs:23:51 [INFO] [stdout] | [INFO] [stdout] 23 | [Token::LET, Token::VAR(s), Token::EQUAL, rest..] => parse_exp(rest), [INFO] [stdout] | ^^^^ this is of type `&[Token]` but it should be `char` or numeric [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 145 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0029, E0425, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0029`. [INFO] [stdout] [INFO] [stderr] error: could not compile `type_inference` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "c2ef979efbef119ee4e468499679e1fabc528be5531f4189e454c48f9b351d3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2ef979efbef119ee4e468499679e1fabc528be5531f4189e454c48f9b351d3f", kill_on_drop: false }` [INFO] [stdout] c2ef979efbef119ee4e468499679e1fabc528be5531f4189e454c48f9b351d3f