[INFO] updating cached repository https://github.com/czipperz/cinterp
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] d50c500083d414ebd069740e7db8def23ef9f7a6
[INFO] checking czipperz/cinterp against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fczipperz%2Fcinterp" "/workspace/builds/worker-14/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/czipperz/cinterp on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[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-14/source/Cargo.toml
[INFO] crate git repo https://github.com/czipperz/cinterp already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] b1077b3f2d4529e18ccb2ea67c8607d91b8874a67895d63bfc26bfa98bdb2c74
[INFO] running `"docker" "start" "-a" "b1077b3f2d4529e18ccb2ea67c8607d91b8874a67895d63bfc26bfa98bdb2c74"`
[INFO] [stderr]    Compiling proc-macro2 v0.2.2
[INFO] [stderr]     Checking pretty_assertions v0.5.0
[INFO] [stderr]    Compiling quote v0.4.2
[INFO] [stderr]    Compiling syn v0.12.12
[INFO] [stderr]    Compiling structopt-derive v0.2.2
[INFO] [stderr]     Checking structopt v0.2.2
[INFO] [stderr]     Checking cinterp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error: expected `;`, found ``}``
[INFO] [stderr]    --> src/parse.rs:827:66
[INFO] [stderr]     |
[INFO] [stderr] 827 |                                                   tokens, false))
[INFO] [stderr]     |                                                                  ^ help: add `;` here
[INFO] [stderr] 828 |         },
[INFO] [stderr]     |         - unexpected token
[INFO] [stderr] 
[INFO] [stderr] error: expected `;`, found ``}``
[INFO] [stderr]    --> src/parse.rs:827:66
[INFO] [stderr]     |
[INFO] [stderr] 827 |                                                   tokens, false))
[INFO] [stderr]     |                                                                  ^ help: add `;` here
[INFO] [stderr] 828 |         },
[INFO] [stderr]     |         - unexpected token
[INFO] [stderr] 
[INFO] [stderr] error: expected one of `)`, `,`, `.`, `?`, or an operator, found keyword `false`
[INFO] [stderr]    --> src/parse.rs:817:72
[INFO] [stderr]     |
[INFO] [stderr] 817 | ...                   tokens, 1010 false));
[INFO] [stderr]     |                                   -^^^^^ expected one of `)`, `,`, `.`, `?`, or an operator
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   help: missing `,`
[INFO] [stderr] 
[INFO] [stderr] error: expected one of `)`, `,`, `.`, `?`, or an operator, found keyword `false`
[INFO] [stderr]    --> src/parse.rs:817:72
[INFO] [stderr]     |
[INFO] [stderr] 817 | ...                   tokens, 1010 false));
[INFO] [stderr]     |                                   -^^^^^ expected one of `)`, `,`, `.`, `?`, or an operator
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   help: missing `,`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         try!(write!(fmt, "{}", self.name));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |             try!(write!(fmt, " const"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |             try!(write!(fmt, " volatile"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:127:17
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 try!(write!(fmt, "{}(*)(", type_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:133:25
[INFO] [stderr]     |
[INFO] [stderr] 133 |                         try!(write!(fmt, ", "));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:135:21
[INFO] [stderr]     |
[INFO] [stderr] 135 |                     try!(write!(fmt, "{}", param.value));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         try!(write!(fmt, "{} {}", self.type_.value, self.name.value));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:156:13
[INFO] [stderr]     |
[INFO] [stderr] 156 |             try!(write!(fmt, " = {}", expr.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 164 |         try!(write!(fmt, "{} {}(", self.return_type.value, self.name.value));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:170:17
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 try!(write!(fmt, ", "));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |             try!(write!(fmt, "{}", type_.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:174:36
[INFO] [stderr]     |
[INFO] [stderr] 174 |                 &Some(ref name) => try!(write!(fmt, " {}", name)),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:178:9
[INFO] [stderr]     |
[INFO] [stderr] 178 |         try!(write!(fmt, ")"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:188:9
[INFO] [stderr]     |
[INFO] [stderr] 188 |         try!(write!(fmt, "{{"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |             try!(write!(fmt, " "));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |             try!(write!(fmt, "{} ", declaration.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:196:13
[INFO] [stderr]     |
[INFO] [stderr] 196 |             try!(write!(fmt, "{} ", statement.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:208:13
[INFO] [stderr]     |
[INFO] [stderr] 208 |             try!(write!(fmt, ", "));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:210:9
[INFO] [stderr]     |
[INFO] [stderr] 210 |         try!(write!(fmt, "{}", e));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:226:17
[INFO] [stderr]     |
[INFO] [stderr] 226 |                 try!(parenthesize_progn(&name.value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:227:17
[INFO] [stderr]     |
[INFO] [stderr] 227 |                 try!(write!(fmt, "("));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:228:17
[INFO] [stderr]     |
[INFO] [stderr] 228 |                 try!(fmt_list(arguments.iter().map(|t| &t.value), fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:234:17
[INFO] [stderr]     |
[INFO] [stderr] 234 |                 try!(parenthesize_progn(&expression.as_ref().value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:238:17
[INFO] [stderr]     |
[INFO] [stderr] 238 |                 try!(parenthesize_progn(&name.as_ref().value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 try!(write!(fmt, " = "));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:243:17
[INFO] [stderr]     |
[INFO] [stderr] 243 |                 try!(write!(fmt, "({})", type_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:247:17
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 try!(write!(fmt, "*"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:261:17
[INFO] [stderr]     |
[INFO] [stderr] 261 |                 try!(write!(fmt, "if ({}) {}", cond.value, true_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:278:18
[INFO] [stderr]     |
[INFO] [stderr] 278 |     let (n, d) = try!(parse_maybe_variable_declaration(first, tokens));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:38
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:60
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:65
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:304:45
[INFO] [stderr]     |
[INFO] [stderr] 304 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), Tag::new(Return(expression.unwrap()), first.pos))),
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:313:17
[INFO] [stderr]     |
[INFO] [stderr] 313 |             Ok((try!(to_result(tokens.next())), first.with_value(Expression(Void))))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:316:30
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:316:35
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:323:32
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:324:24
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:326:33
[INFO] [stderr]     |
[INFO] [stderr] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:326:54
[INFO] [stderr]     |
[INFO] [stderr] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:49
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:70
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:75
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:345:30
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:345:35
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:352:32
[INFO] [stderr]     |
[INFO] [stderr] 352 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:353:24
[INFO] [stderr]     |
[INFO] [stderr] 353 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:355:32
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:355:53
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:365:32
[INFO] [stderr]     |
[INFO] [stderr] 365 |             let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:369:45
[INFO] [stderr]     |
[INFO] [stderr] 369 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), expr.map(Expression))),
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:378:33
[INFO] [stderr]     |
[INFO] [stderr] 378 |             let (next, block) = try!(parse_block(first.pos.clone(), tokens));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:392:15
[INFO] [stderr]     |
[INFO] [stderr] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:392:20
[INFO] [stderr]     |
[INFO] [stderr] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:397:37
[INFO] [stderr]     |
[INFO] [stderr] 397 |                 let (next, type_) = try!(parse_type(t, tokens));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:398:28
[INFO] [stderr]     |
[INFO] [stderr] 398 |                 let next = try!(next.ok_or_else(
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:413:36
[INFO] [stderr]     |
[INFO] [stderr] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:413:41
[INFO] [stderr]     |
[INFO] [stderr] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:432:9
[INFO] [stderr]     |
[INFO] [stderr] 432 |     Ok((try!(to_result(tokens.next())), params))
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:439:20
[INFO] [stderr]     |
[INFO] [stderr] 439 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:441:17
[INFO] [stderr]     |
[INFO] [stderr] 441 |         let n = try!(next.ok_or_else(
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:446:28
[INFO] [stderr]     |
[INFO] [stderr] 446 |                 return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:450:29
[INFO] [stderr]     |
[INFO] [stderr] 450 |                 let maybe = try!(parse_maybe_variable_declaration(n, tokens));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:471:22
[INFO] [stderr]     |
[INFO] [stderr] 471 |                 _ => try!(parse_statement(next, tokens)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:479:9
[INFO] [stderr]     |
[INFO] [stderr] 479 |     Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:499:32
[INFO] [stderr]     |
[INFO] [stderr] 499 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:508:32
[INFO] [stderr]     |
[INFO] [stderr] 508 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:517:32
[INFO] [stderr]     |
[INFO] [stderr] 517 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:523:36
[INFO] [stderr]     |
[INFO] [stderr] 523 |                         let next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:526:44
[INFO] [stderr]     |
[INFO] [stderr] 526 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:53
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:75
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:80
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:537:52
[INFO] [stderr]     |
[INFO] [stderr] 537 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:52
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:74
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:79
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:561:47
[INFO] [stderr]     |
[INFO] [stderr] 561 | ...                   match try!(to_result(tokens.next())) {
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:563:60
[INFO] [stderr]     |
[INFO] [stderr] 563 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:594:54
[INFO] [stderr]     |
[INFO] [stderr] 594 | ...                   let (next, params) = try!(parse_params(&pos, tokens));
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:595:44
[INFO] [stderr]     |
[INFO] [stderr] 595 | ...                   let next = try!(next.ok_or_else(|| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:599:60
[INFO] [stderr]     |
[INFO] [stderr] 599 | ...                   let (next, body) = try!(parse_block(next.pos, tokens));
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:602:58
[INFO] [stderr]     |
[INFO] [stderr] 602 | ...                   Token::Semicolon => (try!(to_result(tokens.next())), None),
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:628:32
[INFO] [stderr]     |
[INFO] [stderr] 628 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:637:32
[INFO] [stderr]     |
[INFO] [stderr] 637 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:645:32
[INFO] [stderr]     |
[INFO] [stderr] 645 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:654:36
[INFO] [stderr]     |
[INFO] [stderr] 654 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:661:58
[INFO] [stderr]     |
[INFO] [stderr] 661 | ...                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:673:57
[INFO] [stderr]     |
[INFO] [stderr] 673 | ...                   let (next, statement) = try!(parse_statement(
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:681:57
[INFO] [stderr]     |
[INFO] [stderr] 681 | ...                   let (next, statement) = try!(parse_statement(n, tokens));
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:702:11
[INFO] [stderr]     |
[INFO] [stderr] 702 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:704:17
[INFO] [stderr]     |
[INFO] [stderr] 704 |             Ok((try!(to_result(tokens.next())), Ok(Tag::new(Progn(Vec::new()), open_paren_pos.clone())))),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:706:38
[INFO] [stderr]     |
[INFO] [stderr] 706 |             let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:708:71
[INFO] [stderr]     |
[INFO] [stderr] 708 |                 Some(Tag { value: Token::CloseParen, pos: _ }) => Ok((try!(to_result(tokens.next())), expression)),
[INFO] [stderr]     |                                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:731:28
[INFO] [stderr]     |
[INFO] [stderr] 731 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:735:28
[INFO] [stderr]     |
[INFO] [stderr] 735 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:748:20
[INFO] [stderr]     |
[INFO] [stderr] 748 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:758:24
[INFO] [stderr]     |
[INFO] [stderr] 758 |                 next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:797:37
[INFO] [stderr]     |
[INFO] [stderr] 797 |                 let (next, type_) = try!(parse_type(first, tokens));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:807:30
[INFO] [stderr]     |
[INFO] [stderr] 807 |             let (n, paren) = try!(parse_paren(&first.pos.clone(), tokens));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:814:37
[INFO] [stderr]     |
[INFO] [stderr] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:814:59
[INFO] [stderr]     |
[INFO] [stderr] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:824:29
[INFO] [stderr]     |
[INFO] [stderr] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:824:51
[INFO] [stderr]     |
[INFO] [stderr] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:834:17
[INFO] [stderr]     |
[INFO] [stderr] 834 |         None => try!(to_result(tokens.next())),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:840:43
[INFO] [stderr]     |
[INFO] [stderr] 840 |                     let (n, expression) = try!(parse_paren(&nextu.pos, tokens));
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:842:38
[INFO] [stderr]     |
[INFO] [stderr] 842 |                     let expression = try!(expression.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:849:38
[INFO] [stderr]     |
[INFO] [stderr] 849 |                     let (n, comma) = try!(parse_comma(base, &nextu.pos, tokens));
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:37
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:59
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:64
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:860:36
[INFO] [stderr]     |
[INFO] [stderr] 860 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:37
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:59
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:64
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:30
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:52
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:57
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:899:11
[INFO] [stderr]     |
[INFO] [stderr] 899 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:903:33
[INFO] [stderr]     |
[INFO] [stderr] 903 |                 let (n, decl) = try!(parse_top_level(next, &mut tokens));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:919:11
[INFO] [stderr]     |
[INFO] [stderr] 919 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:923:35
[INFO] [stderr]     |
[INFO] [stderr] 923 |                 let (n, either) = try!(parse_maybe_variable_declaration(next, &mut tokens));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 16 |             if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |             try!(type_check_statement(&true_.value, &true_.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:22:40
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 &Some(ref false_) => { try!(type_check_statement(&false_.value, &false_.pos, return_type, global_definitions, local_definitions)); },
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 27 |             if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |             try!(type_check_statement(&body.value, &body.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |             try!(type_check_block(block, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             try!(type_check_expression(expression, statement_pos, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let type_ = try!(type_check_expression(&expression.value, statement_pos, global_definitions, local_definitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |         try!(define_variable(&declaration.value, &declaration.pos, local_definitions.last_mut().unwrap()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, local_definitions));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         try!(type_check_statement(&statement.value, &statement.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |             let type_ = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:94:36
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     let arg_type = try!(type_check_expression(&arg.value, &arg.pos, global_definitions, local_definitions));
[INFO] [stderr]    |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:111:25
[INFO] [stderr]     |
[INFO] [stderr] 111 |                 type_ = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:120:30
[INFO] [stderr]     |
[INFO] [stderr] 120 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:141:29
[INFO] [stderr]     |
[INFO] [stderr] 141 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:142:30
[INFO] [stderr]     |
[INFO] [stderr] 142 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:154:35
[INFO] [stderr]     |
[INFO] [stderr] 154 |             let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:163:35
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:190:43
[INFO] [stderr]     |
[INFO] [stderr] 190 |                     let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:199:39
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:222:17
[INFO] [stderr]     |
[INFO] [stderr] 222 |                 try!(type_check_block(&block.value, Some(&fun.return_type.value), global_definitions, local_definitions));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:254:9
[INFO] [stderr]     |
[INFO] [stderr] 254 |         try!(define_variable(&declaration.value, &declaration.pos, &mut global_definitions));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:255:9
[INFO] [stderr]     |
[INFO] [stderr] 255 |         try!(type_check_declaration(&declaration.value, &declaration.pos, &mut global_definitions, &mut Vec::new()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:264:17
[INFO] [stderr]     |
[INFO] [stderr] 264 |                 try!(define_variable(&declaration.value, &declaration.pos, global_definitions));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:265:17
[INFO] [stderr]     |
[INFO] [stderr] 265 |                 try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, &mut Vec::new()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:268:17
[INFO] [stderr]     |
[INFO] [stderr] 268 |                 try!(type_check_statement(&statement.value, &statement.pos, None, global_definitions, &mut Vec::new()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:26:23
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let syntax_tree = try!(parse_command_line(tokens));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     try!(type_check_command_line(syntax_tree.iter(), globals));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:34:23
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let syntax_tree = try!(parse(tokens));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     try!(type_check(syntax_tree.iter()));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/main.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | #[macro_use] extern crate structopt;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/preprocess.rs:140:48
[INFO] [stderr]     |
[INFO] [stderr] 140 |   ...                   if (match next.value.get(0) {
[INFO] [stderr]     |  __________________________^
[INFO] [stderr] 141 | | ...                       Some(&Tag { value: Label(ref l), pos: _ }) => {
[INFO] [stderr] 142 | | ...                           if l == "endif" {
[INFO] [stderr] 143 | | ...                               true
[INFO] [stderr] ...   |
[INFO] [stderr] 152 | | ...                                                              format!("{} Found EOF when expected a macro name after # here", next.pos)))),
[INFO] [stderr] 153 | | ...                   }) {
[INFO] [stderr]     | |________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 140 |                                             if match next.value.get(0) {
[INFO] [stderr] 141 |                                                 Some(&Tag { value: Label(ref l), pos: _ }) => {
[INFO] [stderr] 142 |                                                     if l == "endif" {
[INFO] [stderr] 143 |                                                         true
[INFO] [stderr] 144 |                                                     } else if l == "else" {
[INFO] [stderr] 145 |                                                         false
[INFO] [stderr]   ...
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/lex.rs:253:47
[INFO] [stderr]     |
[INFO] [stderr] 253 |   ...                   } else if (cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stderr]     |  _________________________________^
[INFO] [stderr] 254 | | ...                              cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stderr] 255 | | ...                              cc.value == ';' || cc.value == '*') {
[INFO] [stderr]     | |____________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 253 |                                     } else if cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stderr] 254 |                                                cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stderr] 255 |                                                cc.value == ';' || cc.value == '*' {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         try!(write!(fmt, "{}", self.name));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |             try!(write!(fmt, " const"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |             try!(write!(fmt, " volatile"));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:127:17
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 try!(write!(fmt, "{}(*)(", type_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:133:25
[INFO] [stderr]     |
[INFO] [stderr] 133 |                         try!(write!(fmt, ", "));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:135:21
[INFO] [stderr]     |
[INFO] [stderr] 135 |                     try!(write!(fmt, "{}", param.value));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         try!(write!(fmt, "{} {}", self.type_.value, self.name.value));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:156:13
[INFO] [stderr]     |
[INFO] [stderr] 156 |             try!(write!(fmt, " = {}", expr.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 164 |         try!(write!(fmt, "{} {}(", self.return_type.value, self.name.value));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:170:17
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 try!(write!(fmt, ", "));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |             try!(write!(fmt, "{}", type_.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:174:36
[INFO] [stderr]     |
[INFO] [stderr] 174 |                 &Some(ref name) => try!(write!(fmt, " {}", name)),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:178:9
[INFO] [stderr]     |
[INFO] [stderr] 178 |         try!(write!(fmt, ")"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:188:9
[INFO] [stderr]     |
[INFO] [stderr] 188 |         try!(write!(fmt, "{{"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |             try!(write!(fmt, " "));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |             try!(write!(fmt, "{} ", declaration.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:196:13
[INFO] [stderr]     |
[INFO] [stderr] 196 |             try!(write!(fmt, "{} ", statement.value));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:208:13
[INFO] [stderr]     |
[INFO] [stderr] 208 |             try!(write!(fmt, ", "));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:210:9
[INFO] [stderr]     |
[INFO] [stderr] 210 |         try!(write!(fmt, "{}", e));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:226:17
[INFO] [stderr]     |
[INFO] [stderr] 226 |                 try!(parenthesize_progn(&name.value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:227:17
[INFO] [stderr]     |
[INFO] [stderr] 227 |                 try!(write!(fmt, "("));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:228:17
[INFO] [stderr]     |
[INFO] [stderr] 228 |                 try!(fmt_list(arguments.iter().map(|t| &t.value), fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:234:17
[INFO] [stderr]     |
[INFO] [stderr] 234 |                 try!(parenthesize_progn(&expression.as_ref().value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:238:17
[INFO] [stderr]     |
[INFO] [stderr] 238 |                 try!(parenthesize_progn(&name.as_ref().value, fmt));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 try!(write!(fmt, " = "));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:243:17
[INFO] [stderr]     |
[INFO] [stderr] 243 |                 try!(write!(fmt, "({})", type_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:247:17
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 try!(write!(fmt, "*"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:261:17
[INFO] [stderr]     |
[INFO] [stderr] 261 |                 try!(write!(fmt, "if ({}) {}", cond.value, true_.value));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:278:18
[INFO] [stderr]     |
[INFO] [stderr] 278 |     let (n, d) = try!(parse_maybe_variable_declaration(first, tokens));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:38
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:60
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:298:65
[INFO] [stderr]     |
[INFO] [stderr] 298 |             let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:304:45
[INFO] [stderr]     |
[INFO] [stderr] 304 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), Tag::new(Return(expression.unwrap()), first.pos))),
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:313:17
[INFO] [stderr]     |
[INFO] [stderr] 313 |             Ok((try!(to_result(tokens.next())), first.with_value(Expression(Void))))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:316:30
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:316:35
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:323:32
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:324:24
[INFO] [stderr]     |
[INFO] [stderr] 324 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:326:33
[INFO] [stderr]     |
[INFO] [stderr] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:326:54
[INFO] [stderr]     |
[INFO] [stderr] 326 |             let (next, true_) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:49
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:70
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:333:75
[INFO] [stderr]     |
[INFO] [stderr] 333 | ...                   let (next, else_) = try!(parse_statement(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:345:30
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:345:35
[INFO] [stderr]     |
[INFO] [stderr] 345 |             let open_paren = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:352:32
[INFO] [stderr]     |
[INFO] [stderr] 352 |             let (next, cond) = try!(parse_paren(&open_paren.pos, tokens));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:353:24
[INFO] [stderr]     |
[INFO] [stderr] 353 |             let cond = try!(cond.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:355:32
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:355:53
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let (next, body) = try!(parse_statement(try!(next.ok_or_else(
[INFO] [stderr]     |                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:365:32
[INFO] [stderr]     |
[INFO] [stderr] 365 |             let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:369:45
[INFO] [stderr]     |
[INFO] [stderr] 369 |                     Token::Semicolon => Ok((try!(to_result(tokens.next())), expr.map(Expression))),
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:378:33
[INFO] [stderr]     |
[INFO] [stderr] 378 |             let (next, block) = try!(parse_block(first.pos.clone(), tokens));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:392:15
[INFO] [stderr]     |
[INFO] [stderr] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:392:20
[INFO] [stderr]     |
[INFO] [stderr] 392 |         match try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:397:37
[INFO] [stderr]     |
[INFO] [stderr] 397 |                 let (next, type_) = try!(parse_type(t, tokens));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:398:28
[INFO] [stderr]     |
[INFO] [stderr] 398 |                 let next = try!(next.ok_or_else(
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:413:36
[INFO] [stderr]     |
[INFO] [stderr] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:413:41
[INFO] [stderr]     |
[INFO] [stderr] 413 |                         let next = try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:432:9
[INFO] [stderr]     |
[INFO] [stderr] 432 |     Ok((try!(to_result(tokens.next())), params))
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:439:20
[INFO] [stderr]     |
[INFO] [stderr] 439 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:441:17
[INFO] [stderr]     |
[INFO] [stderr] 441 |         let n = try!(next.ok_or_else(
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:446:28
[INFO] [stderr]     |
[INFO] [stderr] 446 |                 return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:450:29
[INFO] [stderr]     |
[INFO] [stderr] 450 |                 let maybe = try!(parse_maybe_variable_declaration(n, tokens));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:471:22
[INFO] [stderr]     |
[INFO] [stderr] 471 |                 _ => try!(parse_statement(next, tokens)),
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:479:9
[INFO] [stderr]     |
[INFO] [stderr] 479 |     Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:499:32
[INFO] [stderr]     |
[INFO] [stderr] 499 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:508:32
[INFO] [stderr]     |
[INFO] [stderr] 508 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:517:32
[INFO] [stderr]     |
[INFO] [stderr] 517 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:523:36
[INFO] [stderr]     |
[INFO] [stderr] 523 |                         let next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:526:44
[INFO] [stderr]     |
[INFO] [stderr] 526 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:53
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:75
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:531:80
[INFO] [stderr]     |
[INFO] [stderr] 531 | ...                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:537:52
[INFO] [stderr]     |
[INFO] [stderr] 537 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:52
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:74
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:555:79
[INFO] [stderr]     |
[INFO] [stderr] 555 | ...                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:561:47
[INFO] [stderr]     |
[INFO] [stderr] 561 | ...                   match try!(to_result(tokens.next())) {
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:563:60
[INFO] [stderr]     |
[INFO] [stderr] 563 | ...                   return Ok((try!(to_result(tokens.next())),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:594:54
[INFO] [stderr]     |
[INFO] [stderr] 594 | ...                   let (next, params) = try!(parse_params(&pos, tokens));
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:595:44
[INFO] [stderr]     |
[INFO] [stderr] 595 | ...                   let next = try!(next.ok_or_else(|| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:599:60
[INFO] [stderr]     |
[INFO] [stderr] 599 | ...                   let (next, body) = try!(parse_block(next.pos, tokens));
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:602:58
[INFO] [stderr]     |
[INFO] [stderr] 602 | ...                   Token::Semicolon => (try!(to_result(tokens.next())), None),
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:628:32
[INFO] [stderr]     |
[INFO] [stderr] 628 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:637:32
[INFO] [stderr]     |
[INFO] [stderr] 637 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:645:32
[INFO] [stderr]     |
[INFO] [stderr] 645 |                         next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:654:36
[INFO] [stderr]     |
[INFO] [stderr] 654 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:661:58
[INFO] [stderr]     |
[INFO] [stderr] 661 | ...                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:673:57
[INFO] [stderr]     |
[INFO] [stderr] 673 | ...                   let (next, statement) = try!(parse_statement(
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:681:57
[INFO] [stderr]     |
[INFO] [stderr] 681 | ...                   let (next, statement) = try!(parse_statement(n, tokens));
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:702:11
[INFO] [stderr]     |
[INFO] [stderr] 702 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:704:17
[INFO] [stderr]     |
[INFO] [stderr] 704 |             Ok((try!(to_result(tokens.next())), Ok(Tag::new(Progn(Vec::new()), open_paren_pos.clone())))),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:706:38
[INFO] [stderr]     |
[INFO] [stderr] 706 |             let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:708:71
[INFO] [stderr]     |
[INFO] [stderr] 708 |                 Some(Tag { value: Token::CloseParen, pos: _ }) => Ok((try!(to_result(tokens.next())), expression)),
[INFO] [stderr]     |                                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:731:28
[INFO] [stderr]     |
[INFO] [stderr] 731 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:735:28
[INFO] [stderr]     |
[INFO] [stderr] 735 |                     next = try!(to_result(tokens.next())).map(|x| x.value);
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:748:20
[INFO] [stderr]     |
[INFO] [stderr] 748 |     let mut next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:758:24
[INFO] [stderr]     |
[INFO] [stderr] 758 |                 next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:797:37
[INFO] [stderr]     |
[INFO] [stderr] 797 |                 let (next, type_) = try!(parse_type(first, tokens));
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:807:30
[INFO] [stderr]     |
[INFO] [stderr] 807 |             let (n, paren) = try!(parse_paren(&first.pos.clone(), tokens));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:814:37
[INFO] [stderr]     |
[INFO] [stderr] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:814:59
[INFO] [stderr]     |
[INFO] [stderr] 814 |                     let (n, expr) = try!(parse_expression(try!(n.ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:824:29
[INFO] [stderr]     |
[INFO] [stderr] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:824:51
[INFO] [stderr]     |
[INFO] [stderr] 824 |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:834:17
[INFO] [stderr]     |
[INFO] [stderr] 834 |         None => try!(to_result(tokens.next())),
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:840:43
[INFO] [stderr]     |
[INFO] [stderr] 840 |                     let (n, expression) = try!(parse_paren(&nextu.pos, tokens));
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:842:38
[INFO] [stderr]     |
[INFO] [stderr] 842 |                     let expression = try!(expression.map_err(|t| io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:849:38
[INFO] [stderr]     |
[INFO] [stderr] 849 |                     let (n, comma) = try!(parse_comma(base, &nextu.pos, tokens));
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:37
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:59
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:854:64
[INFO] [stderr]     |
[INFO] [stderr] 854 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:860:36
[INFO] [stderr]     |
[INFO] [stderr] 860 | ...                   next = try!(to_result(tokens.next()));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:37
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:59
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:870:64
[INFO] [stderr]     |
[INFO] [stderr] 870 |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:73:40
[INFO] [stderr]    |
[INFO] [stderr] 73 |             Err(e) => println!("{}", e.description()),
[INFO] [stderr]    |                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:30
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:52
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:886:57
[INFO] [stderr]     |
[INFO] [stderr] 886 |     let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |                                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:899:11
[INFO] [stderr]     |
[INFO] [stderr] 899 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:903:33
[INFO] [stderr]     |
[INFO] [stderr] 903 |                 let (n, decl) = try!(parse_top_level(next, &mut tokens));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:919:11
[INFO] [stderr]     |
[INFO] [stderr] 919 |     match try!(to_result(tokens.next())) {
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:923:35
[INFO] [stderr]     |
[INFO] [stderr] 923 |                 let (n, either) = try!(parse_maybe_variable_declaration(next, &mut tokens));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:955:15
[INFO] [stderr]     |
[INFO] [stderr] 955 |         match try!(to_result(tokens.next())) {
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:959:42
[INFO] [stderr]     |
[INFO] [stderr] 959 |                     let (n, statement) = try!(parse_statement(next, &mut tokens));
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 16 |             if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 |             try!(type_check_statement(&true_.value, &true_.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:22:40
[INFO] [stderr]    |
[INFO] [stderr] 22 |                 &Some(ref false_) => { try!(type_check_statement(&false_.value, &false_.pos, return_type, global_definitions, local_definitions)); },
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 27 |             if try!(type_check_expression(&cond.value, &cond.pos, global_definitions, local_definitions)).value.name == TypeName::Void {
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |             try!(type_check_statement(&body.value, &body.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |             try!(type_check_block(block, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             try!(type_check_expression(expression, statement_pos, global_definitions, local_definitions));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 |             let type_ = try!(type_check_expression(&expression.value, statement_pos, global_definitions, local_definitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |         try!(define_variable(&declaration.value, &declaration.pos, local_definitions.last_mut().unwrap()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, local_definitions));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         try!(type_check_statement(&statement.value, &statement.pos, return_type, global_definitions, local_definitions));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |             let type_ = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/type_check.rs:94:36
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     let arg_type = try!(type_check_expression(&arg.value, &arg.pos, global_definitions, local_definitions));
[INFO] [stderr]    |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:111:25
[INFO] [stderr]     |
[INFO] [stderr] 111 |                 type_ = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:120:30
[INFO] [stderr]     |
[INFO] [stderr] 120 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:141:29
[INFO] [stderr]     |
[INFO] [stderr] 141 |             let name_type = try!(type_check_expression(&name.value, &name.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:142:30
[INFO] [stderr]     |
[INFO] [stderr] 142 |             let value_type = try!(type_check_expression(&value.value, &value.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:154:35
[INFO] [stderr]     |
[INFO] [stderr] 154 |             let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:163:35
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:190:43
[INFO] [stderr]     |
[INFO] [stderr] 190 |                     let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:199:39
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 let expression_type = try!(type_check_expression(&expression.value, &expression.pos, global_definitions, local_definitions));
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:222:17
[INFO] [stderr]     |
[INFO] [stderr] 222 |                 try!(type_check_block(&block.value, Some(&fun.return_type.value), global_definitions, local_definitions));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:254:9
[INFO] [stderr]     |
[INFO] [stderr] 254 |         try!(define_variable(&declaration.value, &declaration.pos, &mut global_definitions));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:255:9
[INFO] [stderr]     |
[INFO] [stderr] 255 |         try!(type_check_declaration(&declaration.value, &declaration.pos, &mut global_definitions, &mut Vec::new()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:264:17
[INFO] [stderr]     |
[INFO] [stderr] 264 |                 try!(define_variable(&declaration.value, &declaration.pos, global_definitions));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:265:17
[INFO] [stderr]     |
[INFO] [stderr] 265 |                 try!(type_check_declaration(&declaration.value, &declaration.pos, global_definitions, &mut Vec::new()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/type_check.rs:268:17
[INFO] [stderr]     |
[INFO] [stderr] 268 |                 try!(type_check_statement(&statement.value, &statement.pos, None, global_definitions, &mut Vec::new()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:26:23
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let syntax_tree = try!(parse_command_line(tokens));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     try!(type_check_command_line(syntax_tree.iter(), globals));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:34:23
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let syntax_tree = try!(parse(tokens));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/main.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     try!(type_check(syntax_tree.iter()));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/main.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | #[macro_use] extern crate structopt;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/preprocess.rs:140:48
[INFO] [stderr]     |
[INFO] [stderr] 140 |   ...                   if (match next.value.get(0) {
[INFO] [stderr]     |  __________________________^
[INFO] [stderr] 141 | | ...                       Some(&Tag { value: Label(ref l), pos: _ }) => {
[INFO] [stderr] 142 | | ...                           if l == "endif" {
[INFO] [stderr] 143 | | ...                               true
[INFO] [stderr] ...   |
[INFO] [stderr] 152 | | ...                                                              format!("{} Found EOF when expected a macro name after # here", next.pos)))),
[INFO] [stderr] 153 | | ...                   }) {
[INFO] [stderr]     | |________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 140 |                                             if match next.value.get(0) {
[INFO] [stderr] 141 |                                                 Some(&Tag { value: Label(ref l), pos: _ }) => {
[INFO] [stderr] 142 |                                                     if l == "endif" {
[INFO] [stderr] 143 |                                                         true
[INFO] [stderr] 144 |                                                     } else if l == "else" {
[INFO] [stderr] 145 |                                                         false
[INFO] [stderr]   ...
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/lex.rs:253:47
[INFO] [stderr]     |
[INFO] [stderr] 253 |   ...                   } else if (cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stderr]     |  _________________________________^
[INFO] [stderr] 254 | | ...                              cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stderr] 255 | | ...                              cc.value == ';' || cc.value == '*') {
[INFO] [stderr]     | |____________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 253 |                                     } else if cc.value.is_whitespace() || cc.value == '(' || cc.value == ')' || cc.value == ',' ||
[INFO] [stderr] 254 |                                                cc.value == '[' || cc.value == ']' || cc.value == '{' || cc.value == '}' ||
[INFO] [stderr] 255 |                                                cc.value == ';' || cc.value == '*' {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:73:40
[INFO] [stderr]    |
[INFO] [stderr] 73 |             Err(e) => println!("{}", e.description()),
[INFO] [stderr]    |                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:298:43
[INFO] [stderr]     |
[INFO] [stderr] 298 |               let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  ___________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                           |
[INFO] [stderr]     | |                                           expected 4 arguments
[INFO] [stderr] 299 | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 300 | |                                   format!("{} Found EOF after `return` keyword", first.pos)))),
[INFO] [stderr]     | |______________________________________________________________________________________________-
[INFO] [stderr] 301 |                                                              tokens, false));
[INFO] [stderr]     |                                                              ------  ----- supplied 3 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:365:37
[INFO] [stderr]     |
[INFO] [stderr] 365 |               let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^ -----  ------  ----- supplied 3 arguments
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/lex.rs:345:17
[INFO] [stderr]     |
[INFO] [stderr] 345 |             err.description());
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/lex.rs:370:17
[INFO] [stderr]     |
[INFO] [stderr] 370 |             err.description());
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:531:58
[INFO] [stderr]     |
[INFO] [stderr] 531 |                                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  __________________________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                                          |
[INFO] [stderr]     | |                                                          expected 4 arguments
[INFO] [stderr] 532 | |                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 533 | |                                                       format!("{} Found EOF after `=` here, expected an expression", pos)))), tokens, false));
[INFO] [stderr]     | |                                                                                                                            -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | |____________________________________________________________________________________________________________________________|
[INFO] [stderr]     | 
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:555:57
[INFO] [stderr]     |
[INFO] [stderr] 555 |                                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  _________________________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                                         |
[INFO] [stderr]     | |                                                         expected 4 arguments
[INFO] [stderr] 556 | |                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 557 | |                                                       format!("{} ", pos)))), tokens, false));
[INFO] [stderr]     | |                                                                            -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | |____________________________________________________________________________|
[INFO] [stderr]     | 
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:661:63
[INFO] [stderr]     |
[INFO] [stderr] 661 |                                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^ ------------------------  ------  ----- supplied 3 arguments
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:706:43
[INFO] [stderr]     |
[INFO] [stderr] 706 |               let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ -----  ------  ---- supplied 3 arguments
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:298:43
[INFO] [stderr]     |
[INFO] [stderr] 298 |               let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  ___________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                           |
[INFO] [stderr]     | |                                           expected 4 arguments
[INFO] [stderr] 299 | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 300 | |                                   format!("{} Found EOF after `return` keyword", first.pos)))),
[INFO] [stderr]     | |______________________________________________________________________________________________-
[INFO] [stderr] 301 |                                                              tokens, false));
[INFO] [stderr]     |                                                              ------  ----- supplied 3 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:824:34
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 824 |  |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                  |
[INFO] [stderr]     | ||                                  expected 4 arguments
[INFO] [stderr] 825 | ||                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 826 | ||                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stderr]     | ||_________________________________________________________________________________-
[INFO] [stderr] 827 |  |                                                   tokens, false))
[INFO] [stderr]     |  |                                                   ------  ----- supplied 3 arguments
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:365:37
[INFO] [stderr]     |
[INFO] [stderr] 365 |               let (next, expr) = try!(parse_expression(first, tokens, false));
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^ -----  ------  ----- supplied 3 arguments
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:531:58
[INFO] [stderr]     |
[INFO] [stderr] 531 |                                   let (next, value) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  __________________________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                                          |
[INFO] [stderr]     | |                                                          expected 4 arguments
[INFO] [stderr] 532 | |                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 533 | |                                                       format!("{} Found EOF after `=` here, expected an expression", pos)))), tokens, false));
[INFO] [stderr]     | |                                                                                                                            -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | |____________________________________________________________________________________________________________________________|
[INFO] [stderr]     | 
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:555:57
[INFO] [stderr]     |
[INFO] [stderr] 555 |                                   let (next, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  _________________________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                                         |
[INFO] [stderr]     | |                                                         expected 4 arguments
[INFO] [stderr] 556 | |                                     || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 557 | |                                                       format!("{} ", pos)))), tokens, false));
[INFO] [stderr]     | |                                                                            -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | |____________________________________________________________________________|
[INFO] [stderr]     | 
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:661:63
[INFO] [stderr]     |
[INFO] [stderr] 661 |                                   let (next, expression) = try!(parse_expression(Tag::new(n.value, n.pos), tokens, false));
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^ ------------------------  ------  ----- supplied 3 arguments
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:706:43
[INFO] [stderr]     |
[INFO] [stderr] 706 |               let (next, expression) = try!(parse_expression(first, tokens, true));
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^ -----  ------  ---- supplied 3 arguments
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             expected 4 arguments
[INFO] [stderr] ...
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:824:34
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 824 |  |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                  |
[INFO] [stderr]     | ||                                  expected 4 arguments
[INFO] [stderr] 825 | ||                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 826 | ||                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stderr]     | ||_________________________________________________________________________________-
[INFO] [stderr] 827 |  |                                                   tokens, false))
[INFO] [stderr]     |  |                                                   ------  ----- supplied 3 arguments
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: `match` arms have incompatible types
[INFO] [stderr]    --> src/parse.rs:823:24
[INFO] [stderr]     |
[INFO] [stderr] 791 |         let mut base = match first.value {
[INFO] [stderr]     |    ____________________-
[INFO] [stderr] 792 |   |         Token::Label(first_name) => Tag::new(Label(first_name), first.pos.clone()),
[INFO] [stderr] 793 |   |         Token::Int(i) => Tag::new(Int(i), first.pos.clone()),
[INFO] [stderr] 794 |   |         Token::Long(l) => Tag::new(Long(l), first.pos.clone()),
[INFO] [stderr] ...     |
[INFO] [stderr] 808 | / |             match paren {
[INFO] [stderr] 809 | | |                 Ok(expr) => {
[INFO] [stderr] 810 | | |                     next = Some(n);
[INFO] [stderr] 811 | | |                     expr
[INFO] [stderr] ...   | |
[INFO] [stderr] 820 | | |                 }
[INFO] [stderr] 821 | | |             }
[INFO] [stderr]     | |_|_____________- this and all prior arms are found to be of type `pos::Tag<parse::Expression>`
[INFO] [stderr] 822 |   |         },
[INFO] [stderr] 823 |   |         Token::Star => {
[INFO] [stderr]     |  _|________________________^
[INFO] [stderr] 824 | | |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr] 825 | | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 826 | | |                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stderr] 827 | | |                                                   tokens, false))
[INFO] [stderr] 828 | | |         },
[INFO] [stderr]     | |_|_________^ expected struct `pos::Tag`, found `()`
[INFO] [stderr] 829 |   |         _ => unimplemented!("{:?}", first),
[INFO] [stderr] 830 |   |     };
[INFO] [stderr]     |   |_____- `match` arms have incompatible types
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected struct `pos::Tag<parse::Expression>`
[INFO] [stderr]             found unit type `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:854:42
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 854 |  |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                          |
[INFO] [stderr]     | ||                                          expected 4 arguments
[INFO] [stderr] 855 | ||                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 856 | ||                                           format!("{} Found EOF when expected `]` to close `[` here", nextu.pos)))), tokens, false));
[INFO] [stderr]     | ||                                                                                                                   -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | ||___________________________________________________________________________________________________________________|
[INFO] [stderr]     |  |
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:870:42
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 870 |  |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                          |
[INFO] [stderr]     | ||                                          expected 4 arguments
[INFO] [stderr] 871 | ||                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 872 | ||                                           format!("{} Found EOF when expecting an expression after `=` here", nextu.pos)))), tokens, false));
[INFO] [stderr]     | ||                                                                                                                           -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | ||___________________________________________________________________________________________________________________________|
[INFO] [stderr]     |  |
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:886:35
[INFO] [stderr]     |
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] ...
[INFO] [stderr] 886 |       let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  ___________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                   |
[INFO] [stderr]     | |                                   expected 4 arguments
[INFO] [stderr] 887 | |         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 888 | |                           format!("{} Expected expression after `,` here", comma_pos)))),
[INFO] [stderr]     | |________________________________________________________________________________________-
[INFO] [stderr] 889 |                                                      tokens, false));
[INFO] [stderr]     |                                                      ------  ----- supplied 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 13 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0308.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error[E0308]: `match` arms have incompatible types
[INFO] [stderr]    --> src/parse.rs:823:24
[INFO] [stderr]     |
[INFO] [stderr] 791 |         let mut base = match first.value {
[INFO] [stderr]     |    ____________________-
[INFO] [stderr] 792 |   |         Token::Label(first_name) => Tag::new(Label(first_name), first.pos.clone()),
[INFO] [stderr] 793 |   |         Token::Int(i) => Tag::new(Int(i), first.pos.clone()),
[INFO] [stderr] 794 |   |         Token::Long(l) => Tag::new(Long(l), first.pos.clone()),
[INFO] [stderr] ...     |
[INFO] [stderr] 808 | / |             match paren {
[INFO] [stderr] 809 | | |                 Ok(expr) => {
[INFO] [stderr] 810 | | |                     next = Some(n);
[INFO] [stderr] 811 | | |                     expr
[INFO] [stderr] ...   | |
[INFO] [stderr] 820 | | |                 }
[INFO] [stderr] 821 | | |             }
[INFO] [stderr]     | |_|_____________- this and all prior arms are found to be of type `pos::Tag<parse::Expression>`
[INFO] [stderr] 822 |   |         },
[INFO] [stderr] 823 |   |         Token::Star => {
[INFO] [stderr]     |  _|________________________^
[INFO] [stderr] 824 | | |             let (n, expr) = try!(parse_expression(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr] 825 | | |                 || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 826 | | |                                   format!("{} Nothing to type cast", first.pos))),
[INFO] [stderr] 827 | | |                                                   tokens, false))
[INFO] [stderr] 828 | | |         },
[INFO] [stderr]     | |_|_________^ expected struct `pos::Tag`, found `()`
[INFO] [stderr] 829 |   |         _ => unimplemented!("{:?}", first),
[INFO] [stderr] 830 |   |     };
[INFO] [stderr]     |   |_____- `match` arms have incompatible types
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected struct `pos::Tag<parse::Expression>`
[INFO] [stderr]             found unit type `()`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:854:42
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 854 |  |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                          |
[INFO] [stderr]     | ||                                          expected 4 arguments
[INFO] [stderr] 855 | ||                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 856 | ||                                           format!("{} Found EOF when expected `]` to close `[` here", nextu.pos)))), tokens, false));
[INFO] [stderr]     | ||                                                                                                                   -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | ||___________________________________________________________________________________________________________________|
[INFO] [stderr]     |  |
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `cinterp`.
[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[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:870:42
[INFO] [stderr]     |
[INFO] [stderr] 788 |  / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 |  |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 |  |     let mut next = None;
[INFO] [stderr] 791 |  |     let mut base = match first.value {
[INFO] [stderr] ...    |
[INFO] [stderr] 870 |  |                     let (n, expr) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  |__________________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | ||                                          |
[INFO] [stderr]     | ||                                          expected 4 arguments
[INFO] [stderr] 871 | ||                         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 872 | ||                                           format!("{} Found EOF when expecting an expression after `=` here", nextu.pos)))), tokens, false));
[INFO] [stderr]     | ||                                                                                                                           -  ------  ----- supplied 3 arguments
[INFO] [stderr]     | ||___________________________________________________________________________________________________________________________|
[INFO] [stderr]     |  |
[INFO] [stderr] ...    |
[INFO] [stderr] 881 |  |     }
[INFO] [stderr] 882 |  | }
[INFO] [stderr]     |  |_- defined here
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]    --> src/parse.rs:886:35
[INFO] [stderr]     |
[INFO] [stderr] 788 | / fn parse_expression<I: Iterator<Item = io::Result<Tag<Token>>>>(first: Tag<Token>, tokens: &mut PrefixIterator<I>, max: usize, type_allowed: bool)
[INFO] [stderr] 789 | |                                                                 -> io::Result<(Option<Tag<Token>>, Result<Tag<Expression>, Tag<Type>>)> {
[INFO] [stderr] 790 | |     let mut next = None;
[INFO] [stderr] 791 | |     let mut base = match first.value {
[INFO] [stderr] ...   |
[INFO] [stderr] 881 | |     }
[INFO] [stderr] 882 | | }
[INFO] [stderr]     | |_- defined here
[INFO] [stderr] ...
[INFO] [stderr] 886 |       let (next, expression) = try!(parse_expression(try!(try!(to_result(tokens.next())).ok_or_else(
[INFO] [stderr]     |  ___________________________________^^^^^^^^^^^^^^^^_-
[INFO] [stderr]     | |                                   |
[INFO] [stderr]     | |                                   expected 4 arguments
[INFO] [stderr] 887 | |         || io::Error::new(io::ErrorKind::InvalidInput,
[INFO] [stderr] 888 | |                           format!("{} Expected expression after `,` here", comma_pos)))),
[INFO] [stderr]     | |________________________________________________________________________________________-
[INFO] [stderr] 889 |                                                      tokens, false));
[INFO] [stderr]     |                                                      ------  ----- supplied 3 arguments
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1014:17
[INFO] [stderr]      |
[INFO] [stderr] 1014 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1045:17
[INFO] [stderr]      |
[INFO] [stderr] 1045 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1106:17
[INFO] [stderr]      |
[INFO] [stderr] 1106 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1163:17
[INFO] [stderr]      |
[INFO] [stderr] 1163 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1174:17
[INFO] [stderr]      |
[INFO] [stderr] 1174 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1185:17
[INFO] [stderr]      |
[INFO] [stderr] 1185 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1214:17
[INFO] [stderr]      |
[INFO] [stderr] 1214 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1225:17
[INFO] [stderr]      |
[INFO] [stderr] 1225 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1236:17
[INFO] [stderr]      |
[INFO] [stderr] 1236 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1254:17
[INFO] [stderr]      |
[INFO] [stderr] 1254 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1265:17
[INFO] [stderr]      |
[INFO] [stderr] 1265 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1276:17
[INFO] [stderr]      |
[INFO] [stderr] 1276 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1363:17
[INFO] [stderr]      |
[INFO] [stderr] 1363 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]     --> src/parse.rs:1374:17
[INFO] [stderr]      |
[INFO] [stderr] 1374 |             err.description());
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 13 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0308.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `cinterp`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "b1077b3f2d4529e18ccb2ea67c8607d91b8874a67895d63bfc26bfa98bdb2c74"`
[INFO] running `"docker" "rm" "-f" "b1077b3f2d4529e18ccb2ea67c8607d91b8874a67895d63bfc26bfa98bdb2c74"`
[INFO] [stdout] b1077b3f2d4529e18ccb2ea67c8607d91b8874a67895d63bfc26bfa98bdb2c74
