[INFO] cloning repository https://github.com/periaate/takion
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/periaate/takion" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperiaate%2Ftakion", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperiaate%2Ftakion'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c5f0d6372efa8ade90c8592ae762d2444a42f05
[INFO] checking periaate/takion against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperiaate%2Ftakion" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/periaate/takion
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/periaate/takion
[INFO] tweaked toml for git repo https://github.com/periaate/takion written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/periaate/takion on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/periaate/takion already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50
[INFO] running `Command { std: "docker" "start" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Aunfulfilled-lint-expectations" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking takion v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate as takion`
[INFO] [stdout]   --> src/lib.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) use crate as takion;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate as takion`
[INFO] [stdout]  --> src/testing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate as takion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlow`, `FromResidual`, `Residual`, and `Try`
[INFO] [stdout]  --> src/ret/util_impl.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{ControlFlow, FromResidual, Residual, Try};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Not`
[INFO] [stdout]  --> src/error.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, ops::Not};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/formatting.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId, type_name}, fmt, fmt::Write};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `assoc`
[INFO] [stdout]    --> src/expr.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 | macro assoc {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `operand_arm`
[INFO] [stdout]    --> src/expr.rs:254:7
[INFO] [stdout]     |
[INFO] [stdout] 254 | macro operand_arm {
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `operator_arm`
[INFO] [stdout]    --> src/expr.rs:271:7
[INFO] [stdout]     |
[INFO] [stdout] 271 | macro operator_arm {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `attempt`
[INFO] [stdout]    --> src/expr.rs:289:7
[INFO] [stdout]     |
[INFO] [stdout] 289 | macro attempt {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `literal`
[INFO] [stdout]    --> src/expr.rs:304:7
[INFO] [stdout]     |
[INFO] [stdout] 304 | macro literal {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/primitives.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / /// ```
[INFO] [stdout] 4 | | /// use takion::*;
[INFO] [stdout] 5 | | ///
[INFO] [stdout] 6 | | /// assert_eq!(bool::parse::<()>("true".into()).ok().unwrap(), true);
[INFO] [stdout] 7 | | /// assert_eq!(bool::parse::<()>("false".into()).ok().unwrap(), false);
[INFO] [stdout] 8 | | /// assert!(bool::parse::<()>("nah".into()).is_miss());
[INFO] [stdout] 9 | | /// ```
[INFO] [stdout]   | |_------^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `alternation::*`, `capture::*`, `cursor::*`, `macros::impl_tuple::tuples`, `movement::*`, `pipe::*`, `recovery::*`, `repetitions::*`, `ret::*`, and `syntax::*`
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     cursor::*, ret::*, error::*, formatting::*,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 46 |     movement::*, repetitions::*, alternation::*, sequence::*,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     destructuring::*, recovery::*, capture::*, pipe::*,
[INFO] [stdout]    |                       ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 48 |     strings::*, syntax::*,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 49 |     macros::impl_tuple::tuples,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate as takion`
[INFO] [stdout]   --> src/lib.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) use crate as takion;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/testing.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate as takion`
[INFO] [stdout]  --> src/testing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate as takion;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]  --> src/testing.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{*};
[INFO] [stdout]   |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlFlow`, `FromResidual`, `Residual`, and `Try`
[INFO] [stdout]  --> src/ret/util_impl.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{ControlFlow, FromResidual, Residual, Try};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Not`
[INFO] [stdout]  --> src/error.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, ops::Not};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `TypeId`
[INFO] [stdout]  --> src/formatting.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId, type_name}, fmt, fmt::Write};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `assoc`
[INFO] [stdout]    --> src/expr.rs:248:7
[INFO] [stdout]     |
[INFO] [stdout] 248 | macro assoc {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `operand_arm`
[INFO] [stdout]    --> src/expr.rs:254:7
[INFO] [stdout]     |
[INFO] [stdout] 254 | macro operand_arm {
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `operator_arm`
[INFO] [stdout]    --> src/expr.rs:271:7
[INFO] [stdout]     |
[INFO] [stdout] 271 | macro operator_arm {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `attempt`
[INFO] [stdout]    --> src/expr.rs:289:7
[INFO] [stdout]     |
[INFO] [stdout] 289 | macro attempt {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `literal`
[INFO] [stdout]    --> src/expr.rs:304:7
[INFO] [stdout]     |
[INFO] [stdout] 304 | macro literal {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]  --> src/primitives.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / /// ```
[INFO] [stdout] 4 | | /// use takion::*;
[INFO] [stdout] 5 | | ///
[INFO] [stdout] 6 | | /// assert_eq!(bool::parse::<()>("true".into()).ok().unwrap(), true);
[INFO] [stdout] 7 | | /// assert_eq!(bool::parse::<()>("false".into()).ok().unwrap(), false);
[INFO] [stdout] 8 | | /// assert!(bool::parse::<()>("nah".into()).is_miss());
[INFO] [stdout] 9 | | /// ```
[INFO] [stdout]   | |_------^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]   |
[INFO] [stdout]   = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]   = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `alternation::*`, `capture::*`, `cursor::*`, `error::*`, `macros::impl_tuple::tuples`, `movement::*`, `pipe::*`, `recovery::*`, `repetitions::*`, `ret::*`, and `syntax::*`
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     cursor::*, ret::*, error::*, formatting::*,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 46 |     movement::*, repetitions::*, alternation::*, sequence::*,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     destructuring::*, recovery::*, capture::*, pipe::*,
[INFO] [stdout]    |                       ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 48 |     strings::*, syntax::*,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout] 49 |     macros::impl_tuple::tuples,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `destructuring`
[INFO] [stdout]   --> src/lib.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     destructuring::*, recovery::*, capture::*, pipe::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/ret/util_impl.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             Ret::Miss(info) => Ok(None),
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/error.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[inline(always)] fn wrap<P: Rule>(mut self, _: usize, _: usize) -> Self { Nothing }
[INFO] [stdout]    |                                        ----^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/repetitions.rs:216:28
[INFO] [stdout]     |
[INFO] [stdout] 216 |             Range::Between(from, upto) if unit >= upto    => { false }
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `destructuring`
[INFO] [stdout]   --> src/lib.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     destructuring::*, recovery::*, capture::*, pipe::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/ret/util_impl.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             Ret::Miss(info) => Ok(None),
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/error.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[inline(always)] fn wrap<P: Rule>(mut self, _: usize, _: usize) -> Self { Nothing }
[INFO] [stdout]    |                                        ----^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/repetitions.rs:216:28
[INFO] [stdout]     |
[INFO] [stdout] 216 |             Range::Between(from, upto) if unit >= upto    => { false }
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strings/tokens.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Err(e) => panic!("Between is not valid utf8"),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Thing` is never used
[INFO] [stdout]   --> src/macros/pattern.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Thing = pat!{
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     assert_shape!((J)          => (Just,));
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     assert_shape!((J)          => (Just,));
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     assert_shape!((J)          => (Just,));
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     assert_shape!((_, _)       => (Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     assert_shape!((_, _)       => (Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     assert_shape!((_, _)       => (Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     assert_shape!((_, _, _)    => (Excl, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     assert_shape!((_, _, _)    => (Excl, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     assert_shape!((_, _, _)    => (Excl, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     assert_shape!((J, _)       => (Just, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     assert_shape!((J, _)       => (Just, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     assert_shape!((J, _)       => (Just, Excl));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     assert_shape!((J, _, _)    => (Just, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     assert_shape!((J, _, _)    => (Just, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     assert_shape!((J, _, _)    => (Just, Excl, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     assert_shape!((a, _, b)    => (Incl, Excl, Incl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     assert_shape!((a, _, b)    => (Incl, Excl, Incl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     assert_shape!((a, _, b)    => (Incl, Excl, Incl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     assert_shape!((_, J)       => (Excl, Just));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     assert_shape!((_, J)       => (Excl, Just));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     assert_shape!((_, J)       => (Excl, Just));
[INFO] [stdout]    |     ------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     assert_shape!((_, J, _)    => (Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     assert_shape!((_, J, _)    => (Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     assert_shape!((_, J, _)    => (Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     assert_shape!((_, _, J)    => (Excl, Excl, Just));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     assert_shape!((_, _, J)    => (Excl, Excl, Just));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     assert_shape!((_, _, J)    => (Excl, Excl, Just));
[INFO] [stdout]    |     ------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eq2` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] 50 |         const _: () = {
[INFO] [stdout] 51 |             trait Eq2<T> {}
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     assert_shape!((_, _, J, _) => (Excl, Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 53 |             fn check<A: Eq2<B>, B>() {}
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     assert_shape!((_, _, J, _) => (Excl, Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go` is never used
[INFO] [stdout]   --> src/macros/destruct.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     macro assert_shape($pat:tt => $expect:tt) {
[INFO] [stdout] ...
[INFO] [stdout] 54 |             fn go() { check::<destruct_inner!($pat), $expect>(); }
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     assert_shape!((_, _, J, _) => (Excl, Excl, Just, Excl));
[INFO] [stdout]    |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/error.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Clone, Copy, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                             --------- in this derive macro expansion
[INFO] [stdout] 62 | pub struct Target((usize, usize), fn(&mut fmt::Formatter<'_>) -> fmt::Result);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/error.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 if !first { writeln!(f, ""); } else { first = false; };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 if !first { let _ = writeln!(f, ""); } else { first = false; };
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Advance<const By: usize = 1>;
[INFO] [stdout]    |                          ^^ help: convert the identifier to upper case (notice the capitalization): `BY`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, T: 'a, const By: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout]    |                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 20 - impl<'a, T: 'a, const By: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout] 20 + impl<'a, T: 'a, const BY: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<const By: usize> Rule for Advance<By> {
[INFO] [stdout]    |            ^^ help: convert the identifier to upper case (notice the capitalization): `BY`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/strings/tokens.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Err(e) => panic!("Between is not valid utf8"),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Thing` is never used
[INFO] [stdout]   --> src/macros/pattern.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Thing = pat!{
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/error.rs:62:35
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Clone, Copy, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                             --------- in this derive macro expansion
[INFO] [stdout] 62 | pub struct Target((usize, usize), fn(&mut fmt::Formatter<'_>) -> fmt::Result);
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/error.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 if !first { writeln!(f, ""); } else { first = false; };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 if !first { let _ = writeln!(f, ""); } else { first = false; };
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Advance<const By: usize = 1>;
[INFO] [stdout]    |                          ^^ help: convert the identifier to upper case (notice the capitalization): `BY`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a, T: 'a, const By: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout]    |                       ^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 20 - impl<'a, T: 'a, const By: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout] 20 + impl<'a, T: 'a, const BY: usize> Parse<'a, T> for Advance<By> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `By` should have an upper case name
[INFO] [stdout]   --> src/movement.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<const By: usize> Rule for Advance<By> {
[INFO] [stdout]    |            ^^ help: convert the identifier to upper case (notice the capitalization): `BY`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range::Exactly`
[INFO] [stdout]  --> examples/string-expansion.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use takion::{Range::Exactly, strings::Basic, syntax::RangesP, *};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> examples/string-expansion.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     (Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>)>;
[INFO] [stdout]    |     ^                                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -     (Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>)>;
[INFO] [stdout] 39 +     Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range::Exactly`
[INFO] [stdout]  --> examples/string-expansion.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use takion::{Range::Exactly, strings::Basic, syntax::RangesP, *};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> examples/string-expansion.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     (Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>)>;
[INFO] [stdout]    |     ^                                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -     (Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>)>;
[INFO] [stdout] 39 +     Commit<Tok<"{">, (Pipe<Raw<Tok<"}">>, Pattern>, Tok<"}">)>>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (RangesEnum<u64>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (RangesEnum<u64>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (RangesEnum<u64>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    = note: `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<String>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<String>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<String>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (RangesEnum<u64>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<String>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (RangesEnum<u64>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (RangesEnum<u64>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (RangesEnum<u64>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<Vec<String>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<Vec<String>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<Vec<String>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<Vec<String>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<String>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<String>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<String>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (RangesEnum<u64>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (RangesEnum<u64>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / parser! {[Pattern] -> [Vec<String>] {
[INFO] [stdout] 45 | |     (range: RangesP<u64, Tok<"..">, Tok<"..=">>) => range
[INFO] [stdout] 46 | |         .may_enumerate()
[INFO] [stdout] 47 | |         .expect("must be a definitive range")
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     (parts: Intersperse<Seek<Sep>, Tok<"|">>) => parts;
[INFO] [stdout] 51 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<String>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<String>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<Vec<String>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<Vec<String>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<Vec<String>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Vec<String>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/string-expansion.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / parser! {[Template] -> [Vec<String>] {
[INFO] [stdout] 56 | |     (parts: Vec<Or<(Pat, Repeat<Seek<Alt<(Tok<"{">, End)>>, {count![1]}>)>>) => {
[INFO] [stdout] 57 | |         let parts: Vec<Vec<String>> = parts;
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     };
[INFO] [stdout] 65 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<Vec<String>>,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (Vec<Vec<String>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `parser_pair` which comes from the expansion of the macro `parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `takion` (example "string-expansion" test) due to 12 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `takion` (example "string-expansion") due to 12 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    = note: `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    = note: `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    = note: `Ret<'a, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]   --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>`
[INFO] [stdout]    |    required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ret<'_, u8, ((takion::Tree<T, Js>, &str),), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Js, takion::Tree<T, Js>>, Cx>`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> examples/expressions.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | / operators!{ ('a, E) [Js] {
[INFO] [stdout] 61 | |     { Out((e, _): Commit<WsTok<"(">, (E, WsTok<")">)>) => e; }
[INFO] [stdout] 62 | |     { Suf("!") => Self::Fact; }
[INFO] [stdout] 63 | |     right { In("^") => Self::Pow; }
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |     right { In((mid, _): Commit<WsTok<"?">, (E, WsTok<":">)>) => (Self::Cond, mid); }
[INFO] [stdout] 73 | | }}
[INFO] [stdout]    | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]    = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]    = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&[u8],), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (&[u8],), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&[u8],), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     = note: `Ret<'_, u8, (&[u8],), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (Vec<takion::Tree<T, Lisp>>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:215:1
[INFO] [stdout]     |
[INFO] [stdout] 215 | / operators!{ ('a, E) [Lisp] {
[INFO] [stdout] 216 | |     {
[INFO] [stdout] 217 | |         Out(xs: Call<"+",   E>) => (Self::Add, xs);
[INFO] [stdout] 218 | |         Out(xs: Call<"-",   E>) => (Self::Sub, xs);
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operand<Lisp, takion::Tree<T, Lisp>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     = note: `Ret<'a, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (takion::Tree<T, Sel>,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&[u8],), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (&[u8],), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&[u8],), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Ret<'_, u8, (&str,), Cx>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |    required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ops::try_trait_old::Try::branch`
[INFO] [stdout]    --> /rustc/8773d2c75a8e90130dcce745a7ec4e66bb9963db/library/core/src/ops/try_trait_old.rs:54:4
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |__cannot use the `?` operator in a method that returns `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     |    this function should return `Result` or `Option` to accept `?`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `Ret<'a, u8, Operator<Sel, takion::Tree<T, Sel>>, Cx>`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `takion` (example "expressions") due to 120 previous errors
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&[u8],), Cx>`
[INFO] [stdout]     = note: `Ret<'_, u8, (&[u8],), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `takion` (example "expressions" test) due to 120 previous errors
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> examples/expressions.rs:273:1
[INFO] [stdout]     |
[INFO] [stdout] 273 | / operators!{ ('a, E) [Sel] {
[INFO] [stdout] 274 | |     {
[INFO] [stdout] 275 | |         Suf(inner: Pseudo<"has", E>) => (Self::Has, inner);
[INFO] [stdout] 276 | |         Suf(inner: Pseudo<"not", E>) => (Self::Not, inner);
[INFO] [stdout] ...   |
[INFO] [stdout] 282 | | }}
[INFO] [stdout]     | |__^ the `?` operator cannot be applied to type `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `Ret<'_, u8, (&str,), Cx>`
[INFO] [stdout]     = note: `Ret<'_, u8, (&str,), Cx>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout]     = note: this error originates in the macro `attempt` which comes from the expansion of the macro `operators` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50", kill_on_drop: false }`
[INFO] [stdout] 351c2a4280f1800626c1f8be4519f6890b639a845e1739fe5929836218d30c50
