[INFO] cloning repository https://github.com/czipperz/cinterp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/czipperz/cinterp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fczipperz%2Fcinterp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fczipperz%2Fcinterp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d50c500083d414ebd069740e7db8def23ef9f7a6
[INFO] testing czipperz/cinterp against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fczipperz%2Fcinterp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/czipperz/cinterp
[INFO] finished tweaking git repo https://github.com/czipperz/cinterp
[INFO] tweaked toml for git repo https://github.com/czipperz/cinterp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/czipperz/cinterp on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/czipperz/cinterp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 366305c5c9291dfcd92d9dca0cfda8178f4294a21156982f86657d3ddfa8f103
[INFO] running `Command { std: "docker" "start" "-a" "366305c5c9291dfcd92d9dca0cfda8178f4294a21156982f86657d3ddfa8f103", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "366305c5c9291dfcd92d9dca0cfda8178f4294a21156982f86657d3ddfa8f103", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "366305c5c9291dfcd92d9dca0cfda8178f4294a21156982f86657d3ddfa8f103", kill_on_drop: false }`
[INFO] [stdout] 366305c5c9291dfcd92d9dca0cfda8178f4294a21156982f86657d3ddfa8f103
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d6bd343145c76f0dc91525cc7c0031c80cb6f31f59109d048dee892565b2ad6
[INFO] running `Command { std: "docker" "start" "-a" "5d6bd343145c76f0dc91525cc7c0031c80cb6f31f59109d048dee892565b2ad6", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling libc v0.2.36
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling strsim v0.7.0
[INFO] [stderr]    Compiling vec_map v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.10.2
[INFO] [stderr]    Compiling textwrap v0.9.0
[INFO] [stderr]    Compiling proc-macro2 v0.2.2
[INFO] [stderr]    Compiling quote v0.4.2
[INFO] [stderr]    Compiling atty v0.2.6
[INFO] [stderr]    Compiling syn v0.12.12
[INFO] [stderr]    Compiling clap v2.30.0
[INFO] [stderr]    Compiling structopt-derive v0.2.2
[INFO] [stderr]    Compiling structopt v0.2.2
[INFO] [stderr]    Compiling cinterp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found `}`
[INFO] [stdout]    --> src/parse.rs:827:66
[INFO] [stdout]     |
[INFO] [stdout] 827 |                                                   tokens, false))
[INFO] [stdout]     |                                                                  ^ help: add `;` here
[INFO] [stdout] 828 |         },
[INFO] [stdout]     |         - unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `)`, `,`, `.`, `?`, or an operator, found keyword `false`
[INFO] [stdout]    --> src/parse.rs:817:72
[INFO] [stdout]     |
[INFO] [stdout] 817 | ...                   tokens, 1010 false));
[INFO] [stdout]     |                                   -^^^^^ expected one of `)`, `,`, `.`, `?`, or an operator
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use] extern crate structopt;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/preprocess.rs:140:48
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   if (match next.value.get(0) {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 153 | ...                   }) {
[INFO] [stdout]     |                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 ~                                             if match next.value.get(0) {
[INFO] [stdout] 141 |                                                 Some(&Tag { value: Label(ref l), pos: _ }) => {
[INFO] [stdout] ...
[INFO] [stdout] 152 |                                                                                        format!("{} Found EOF when expected a macro name after # here", next.pos)))),
[INFO] [stdout] 153 ~                                             }  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lex.rs:253:47
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   } else if (cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stdout]     |                                 ^
[INFO] [stdout] 254 | ...                              cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stdout] 255 | ...                              cc.value == ';' || cc.value == '*') {
[INFO] [stdout]     |                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 253 ~                                     } else if cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stdout] 254 |                                                cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stdout] 255 ~                                                cc.value == ';' || cc.value == '*'  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         try!(write!(fmt, "{}", self.name));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             try!(write!(fmt, " const"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             try!(write!(fmt, " volatile"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 try!(write!(fmt, "{}(*)(", type_.value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:135:21
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     try!(write!(fmt, "{}", param.value));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         try!(write!(fmt, ", "));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         try!(write!(fmt, "{} {}", self.type_.value, self.name.value));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             try!(write!(fmt, " = {}", expr.value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         try!(write!(fmt, "{} {}(", self.return_type.value, self.name.value));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         try!(write!(fmt, ")"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             try!(write!(fmt, "{}", type_.value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 try!(write!(fmt, ", "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:174:36
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 &Some(ref name) => try!(write!(fmt, " {}", name)),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         try!(write!(fmt, "{{"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             try!(write!(fmt, " "));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             try!(write!(fmt, "{} ", declaration.value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |             try!(write!(fmt, "{} ", statement.value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         try!(write!(fmt, "{}", e));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             try!(write!(fmt, ", "));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:226:17
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 try!(parenthesize_progn(&name.value, fmt));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 try!(write!(fmt, "("));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 try!(fmt_list(arguments.iter().map(|t| &t.value), fmt));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 try!(parenthesize_progn(&expression.as_ref().value, fmt));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(parenthesize_progn(&name.as_ref().value, fmt));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 try!(write!(fmt, " = "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:243:17
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 try!(write!(fmt, "({})", type_.value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 try!(write!(fmt, "*"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 try!(write!(fmt, "if ({}) {}", cond.value, true_.value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (n, d) = try!(parse_maybe_variable_declaration(first, tokens));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:298:38
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:298:60
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:298:65
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:304:45
[INFO] [stdout]     |
[INFO] [stdout] 304 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), Tag::new(Return(expression.unwrap()), first.pos))),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 313 |             Ok((try!(to_result(tokens.next())), first.with_value(Expression(Void))))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:316:30
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:316:35
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:323:32
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:326:33
[INFO] [stdout]     |
[INFO] [stdout] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:326:54
[INFO] [stdout]     |
[INFO] [stdout] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:333:49
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:333:70
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:333:75
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:345:30
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:345:35
[INFO] [stdout]     |
[INFO] [stdout] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:352:32
[INFO] [stdout]     |
[INFO] [stdout] 352 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:353:24
[INFO] [stdout]     |
[INFO] [stdout] 353 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:355:32
[INFO] [stdout]     |
[INFO] [stdout] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:355:53
[INFO] [stdout]     |
[INFO] [stdout] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:365:32
[INFO] [stdout]     |
[INFO] [stdout] 365 |             let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:369:45
[INFO] [stdout]     |
[INFO] [stdout] 369 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), expr.map(Expression))),
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:378:33
[INFO] [stdout]     |
[INFO] [stdout] 378 |             let (next, block) = try!(parse_block(first.pos.clone(), tokens));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:392:15
[INFO] [stdout]     |
[INFO] [stdout] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:392:20
[INFO] [stdout]     |
[INFO] [stdout] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:397:37
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let (next, type_) = try!(parse_type(t, tokens));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:398:28
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 let next = try!(next.ok_or_else(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:413:36
[INFO] [stdout]     |
[INFO] [stdout] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:413:41
[INFO] [stdout]     |
[INFO] [stdout] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |     Ok((try!(to_result(tokens.next())), params))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:439:20
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let n = try!(next.ok_or_else(
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:446:28
[INFO] [stdout]     |
[INFO] [stdout] 446 |                 return Ok((try!(to_result(tokens.next())),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:450:29
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 let maybe = try!(parse_maybe_variable_declaration(n, tokens));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:471:22
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 _ => try!(parse_statement(next, tokens)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     Ok((try!(to_result(tokens.next())),
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:499:32
[INFO] [stdout]     |
[INFO] [stdout] 499 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:508:32
[INFO] [stdout]     |
[INFO] [stdout] 508 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:517:32
[INFO] [stdout]     |
[INFO] [stdout] 517 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:523:36
[INFO] [stdout]     |
[INFO] [stdout] 523 |                         let next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:526:44
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:531:53
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:531:75
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:531:80
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:537:52
[INFO] [stdout]     |
[INFO] [stdout] 537 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:555:52
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:555:74
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:555:79
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:561:47
[INFO] [stdout]     |
[INFO] [stdout] 561 | ...                   match try!(to_result(tokens.next())) {
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:563:60
[INFO] [stdout]     |
[INFO] [stdout] 563 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:594:54
[INFO] [stdout]     |
[INFO] [stdout] 594 | ...                   let (next, params) = try!(parse_params(&pos, tokens));
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:595:44
[INFO] [stdout]     |
[INFO] [stdout] 595 | ...                   let next = try!(next.ok_or_else(|| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:599:60
[INFO] [stdout]     |
[INFO] [stdout] 599 | ...                   let (next, body) = try!(parse_block(next.pos, tokens));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:602:58
[INFO] [stdout]     |
[INFO] [stdout] 602 | ...                   Token::Semicolon => (try!(to_result(tokens.next())), None),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:628:32
[INFO] [stdout]     |
[INFO] [stdout] 628 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:637:32
[INFO] [stdout]     |
[INFO] [stdout] 637 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:645:32
[INFO] [stdout]     |
[INFO] [stdout] 645 |                         next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:654:36
[INFO] [stdout]     |
[INFO] [stdout] 654 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:661:58
[INFO] [stdout]     |
[INFO] [stdout] 661 | ...                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:673:57
[INFO] [stdout]     |
[INFO] [stdout] 673 | ...                   let (next, statement) = try!(parse_statement(
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:681:57
[INFO] [stdout]     |
[INFO] [stdout] 681 | ...                   let (next, statement) = try!(parse_statement(n, tokens));
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:702:11
[INFO] [stdout]     |
[INFO] [stdout] 702 |     match try!(to_result(tokens.next())) {
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:704:17
[INFO] [stdout]     |
[INFO] [stdout] 704 |             Ok((try!(to_result(tokens.next())), Ok(Tag::new(Progn(Vec::new()), open_paren_pos.clone())))),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:706:38
[INFO] [stdout]     |
[INFO] [stdout] 706 |             let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:708:71
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 Some(Tag { value: Token::CloseParen, pos: _ }) => Ok((try!(to_result(tokens.next())), expression)),
[INFO] [stdout]     |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:731:28
[INFO] [stdout]     |
[INFO] [stdout] 731 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:735:28
[INFO] [stdout]     |
[INFO] [stdout] 735 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:748:20
[INFO] [stdout]     |
[INFO] [stdout] 748 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:758:24
[INFO] [stdout]     |
[INFO] [stdout] 758 |                 next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:797:37
[INFO] [stdout]     |
[INFO] [stdout] 797 |                 let (next, type_) = try!(parse_type(first, tokens));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:807:30
[INFO] [stdout]     |
[INFO] [stdout] 807 |             let (n, paren) = try!(parse_paren(&first.pos.clone(), tokens));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:814:37
[INFO] [stdout]     |
[INFO] [stdout] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:814:59
[INFO] [stdout]     |
[INFO] [stdout] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:824:29
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:824:51
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:834:17
[INFO] [stdout]     |
[INFO] [stdout] 834 |         None => try!(to_result(tokens.next())),
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:840:43
[INFO] [stdout]     |
[INFO] [stdout] 840 |                     let (n, expression) = try!(parse_paren(&nextu.pos, tokens));
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:842:38
[INFO] [stdout]     |
[INFO] [stdout] 842 |                     let expression = try!(expression.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:849:38
[INFO] [stdout]     |
[INFO] [stdout] 849 |                     let (n, comma) = try!(parse_comma(base, &nextu.pos, tokens));
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:854:37
[INFO] [stdout]     |
[INFO] [stdout] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:854:59
[INFO] [stdout]     |
[INFO] [stdout] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:854:64
[INFO] [stdout]     |
[INFO] [stdout] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:860:36
[INFO] [stdout]     |
[INFO] [stdout] 860 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:870:37
[INFO] [stdout]     |
[INFO] [stdout] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:870:59
[INFO] [stdout]     |
[INFO] [stdout] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:870:64
[INFO] [stdout]     |
[INFO] [stdout] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:886:30
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:886:52
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:886:57
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:899:11
[INFO] [stdout]     |
[INFO] [stdout] 899 |     match try!(to_result(tokens.next())) {
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:903:33
[INFO] [stdout]     |
[INFO] [stdout] 903 |                 let (n, decl) = try!(parse_top_level(next, &mut tokens));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:919:11
[INFO] [stdout]     |
[INFO] [stdout] 919 |     match try!(to_result(tokens.next())) {
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:923:35
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 let (n, either) = try!(parse_maybe_variable_declaration(next, &mut tokens));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             try!(type_check_statement(&true_.value, &true_.pos, return_type, global_definitions, local_definitions));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...   if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...   &Some(ref false_) => { try!(type_check_statement(&false_.value, &false_.pos, return_type, global_definitions, local_definition...
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             try!(type_check_statement(&body.value, &body.pos, return_type, global_definitions, local_definitions));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...   if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(type_check_block(block, return_type, global_definitions, local_definitions));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             try!(type_check_expression(expression, statement_pos, global_definitions, local_definitions));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let type_ = try!(type_check_expression(&expression.value, statement_pos, global_definitions, local_definitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(define_variable(&declaration.value, &declaration.pos, local_definitions.last_mut().unwrap()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, local_definitions));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         try!(type_check_statement(&statement.value, &statement.pos, return_type, global_definitions, local_definitions));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let type_ = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/type_check.rs:94:36
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     let arg_type = try!(type_check_expression(&arg.value, &arg.pos, global_definitions, local_definitions));
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 type_ = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:120:30
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:141:29
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:142:30
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...   let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:163:35
[INFO] [stdout]     |
[INFO] [stdout] 163 | ...   let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:190:43
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...   let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:199:39
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...   let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 try!(type_check_block(&block.value, Some(&fun.return_type.value), global_definitions, local_definitions));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |         try!(define_variable(&declaration.value, &declaration.pos, &mut global_definitions));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         try!(type_check_declaration(&declaration.value, &declaration.pos, &mut global_definitions, &mut Vec::new()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:264:17
[INFO] [stdout]     |
[INFO] [stdout] 264 |                 try!(define_variable(&declaration.value, &declaration.pos, global_definitions));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, &mut Vec::new()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/type_check.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 268 |                 try!(type_check_statement(&statement.value, &statement.pos, None, global_definitions, &mut Vec::new()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     try!(type_check_command_line(syntax_tree.iter(), globals));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let syntax_tree = try!(parse_command_line(tokens));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     try!(type_check(syntax_tree.iter()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let syntax_tree = try!(parse(tokens));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:298:43
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |                                                            tokens, false));
[INFO] [stdout]     |                                                                    ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 298 ~             let (next, expression) = try!(parse_expression(
[INFO] [stdout] 299 +             try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 300 +                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 301 +                                   format!("{} Found EOF after `return` keyword", first.pos)))),
[INFO] [stdout] 302 +                                                            tokens,
[INFO] [stdout] 303 +             /* usize */,
[INFO] [stdout] 304 +                                                            false,
[INFO] [stdout] 305 ~             ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:365:37
[INFO] [stdout]     |
[INFO] [stdout] 365 |             let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^                ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 365 |             let (next, expr) = try!(parse_expression(first, tokens, /* usize */, false));
[INFO] [stdout]     |                                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:531:58
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 532 | ...                       || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 533 | ...                                         format!("{} Found EOF after `=` here, expected an expression", pos)))), tokens, false));
[INFO] [stdout]     |                                                                                                                             ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 531 ~                                 let (next, value) = try!(parse_expression(
[INFO] [stdout] 532 +                                 try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 533 +                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 534 +                                                       format!("{} Found EOF after `=` here, expected an expression", pos)))),
[INFO] [stdout] 535 +                                                       tokens,
[INFO] [stdout] 536 +                                 /* usize */,
[INFO] [stdout] 537 +                                                       false,
[INFO] [stdout] 538 ~                                 ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:555:57
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 556 | ...                       || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 557 | ...                                         format!("{} ", pos)))), tokens, false));
[INFO] [stdout]     |                                                                             ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 555 ~                                 let (next, expr) = try!(parse_expression(
[INFO] [stdout] 556 +                                 try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 557 +                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 558 +                                                       format!("{} ", pos)))),
[INFO] [stdout] 559 +                                                       tokens,
[INFO] [stdout] 560 +                                 /* usize */,
[INFO] [stdout] 561 +                                                       false,
[INFO] [stdout] 562 ~                                 ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:661:63
[INFO] [stdout]     |
[INFO] [stdout] 661 | ...                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^                                   ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 661 |                                 let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, /* usize */, false));
[INFO] [stdout]     |                                                                                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 |             let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^                ---- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 706 |             let (next, expression) = try!(parse_expression(first, tokens, /* usize */, true));
[INFO] [stdout]     |                                                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:824:34
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |                                                   tokens, false))
[INFO] [stdout]     |                                                           ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Tag<Token>`, found `Result<Tag<Token>, Error>`
[INFO] [stdout]    --> src/parse.rs:824:51
[INFO] [stdout]     |
[INFO] [stdout] 824 |               let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |  ___________________________________________________^
[INFO] [stdout] 825 | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 826 | |                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout]     = note: expected struct `pos::Tag<_>`
[INFO] [stdout]                  found enum `Result<pos::Tag<_>, std::io::Error>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                             -----------------                                  ----------
[INFO] [stdout] help: use the `?` operator to extract the `Result<pos::Tag<lex::Token>, std::io::Error>` value, propagating a `Result::Err` value to the caller
[INFO] [stdout]     |
[INFO] [stdout] 826 |                                   format!("{} Nothing to type cast", first.pos)))?,
[INFO] [stdout]     |                                                                                  +
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 824 -             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 825 -                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 826 -                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stdout] 827 -                                                   tokens, false))
[INFO] [stdout] 824 +             let (n, expr) = try!(parse_expression(/* pos::Tag<lex::Token> */, tokens, /* usize */, false))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/parse.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 791 |       let mut base = match first.value {
[INFO] [stdout]     |                      ----------------- `match` arms have incompatible types
[INFO] [stdout] ...
[INFO] [stdout] 808 | /             match paren {
[INFO] [stdout] 809 | |                 Ok(expr) => {
[INFO] [stdout] 810 | |                     next = Some(n);
[INFO] [stdout] 811 | |                     expr
[INFO] [stdout] ...   |
[INFO] [stdout] 821 | |             }
[INFO] [stdout]     | |_____________- this and all prior arms are found to be of type `pos::Tag<parse::Expression>`
[INFO] [stdout] ...
[INFO] [stdout] 824 | /             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 825 | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 826 | |                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stdout] 827 | |                                                   tokens, false))
[INFO] [stdout]     | |_________________________________________________________________^ expected `Tag<Expression>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `pos::Tag<parse::Expression>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:854:42
[INFO] [stdout]     |
[INFO] [stdout] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 855 |                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 856 |                                           format!("{} Found EOF when expected `]` to close `[` here", nextu.pos)))), tokens, false));
[INFO] [stdout]     |                                                                                                                              ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 854 ~                     let (n, expr) = try!(parse_expression(
[INFO] [stdout] 855 +                     try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 856 +                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 857 +                                           format!("{} Found EOF when expected `]` to close `[` here", nextu.pos)))),
[INFO] [stdout] 858 +                                           tokens,
[INFO] [stdout] 859 +                     /* usize */,
[INFO] [stdout] 860 +                                           false,
[INFO] [stdout] 861 ~                     ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:870:42
[INFO] [stdout]     |
[INFO] [stdout] 870 | ...expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 871 | ...o::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 872 | ...              format!("{} Found EOF when expecting an expression after `=` here", nextu.pos)))), tokens, false));
[INFO] [stdout]     |                                                                                                             ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 870 ~                     let (n, expr) = try!(parse_expression(
[INFO] [stdout] 871 +                     try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 872 +                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 873 +                                           format!("{} Found EOF when expecting an expression after `=` here", nextu.pos)))),
[INFO] [stdout] 874 +                                           tokens,
[INFO] [stdout] 875 +                     /* usize */,
[INFO] [stdout] 876 +                                           false,
[INFO] [stdout] 877 ~                     ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/parse.rs:886:35
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |                                                    tokens, false));
[INFO] [stdout]     |                                                            ----- argument #3 of type `usize` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/parse.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                                                                ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 886 ~     let (next, expression) = try!(parse_expression(
[INFO] [stdout] 887 +     try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stdout] 888 +         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stdout] 889 +                           format!("{} Expected expression after `,` here", comma_pos)))),
[INFO] [stdout] 890 +                                                    tokens,
[INFO] [stdout] 891 +     /* usize */,
[INFO] [stdout] 892 +                                                    false,
[INFO] [stdout] 893 ~     ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:73:40
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Err(e) => println!("{}", e.description()),
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/parse.rs:760:50
[INFO] [stdout]     |
[INFO] [stdout] 760 |             Some(Tag { value: Token::OpenSquare, pos }) => {
[INFO] [stdout]     |                                                  ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `declaration_pos`
[INFO] [stdout]    --> src/type_check.rs:183:54
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn type_check_declaration(declaration: &Declaration, declaration_pos: &Pos,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_declaration_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cinterp` (bin "cinterp") due to 13 previous errors; 160 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5d6bd343145c76f0dc91525cc7c0031c80cb6f31f59109d048dee892565b2ad6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d6bd343145c76f0dc91525cc7c0031c80cb6f31f59109d048dee892565b2ad6", kill_on_drop: false }`
[INFO] [stdout] 5d6bd343145c76f0dc91525cc7c0031c80cb6f31f59109d048dee892565b2ad6
