[INFO] cloning repository https://github.com/furkrn/ezscn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/furkrn/ezscn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurkrn%2Fezscn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurkrn%2Fezscn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 51337211b813603199ea902f4301b899a5ec5917
[INFO] checking furkrn/ezscn against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffurkrn%2Fezscn" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/furkrn/ezscn
[INFO] finished tweaking git repo https://github.com/furkrn/ezscn
[INFO] tweaked toml for git repo https://github.com/furkrn/ezscn written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/furkrn/ezscn 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/furkrn/ezscn 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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2
[INFO] running `Command { std: "docker" "start" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2", 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" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2", 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" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking ezscn-tokens v0.0.1 (/opt/rustwide/workdir/crates/ezscn-tokens)
[INFO] [stderr]     Checking ezscn-poison v0.0.1 (/opt/rustwide/workdir/crates/ezscn-poison)
[INFO] [stderr]     Checking ezscn v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]     Checking ezscn-error v0.0.1 (/opt/rustwide/workdir/crates/ezscn-error)
[INFO] [stderr]     Checking ezscn-lexer v0.0.1 (/opt/rustwide/workdir/crates/ezscn-lexer)
[INFO] [stderr]     Checking ezscn-ast v0.0.1 (/opt/rustwide/workdir/crates/ezscn-ast)
[INFO] [stderr]     Checking ezscn-parser v0.0.1 (/opt/rustwide/workdir/crates/ezscn-parser)
[INFO] [stderr]     Checking ezscn-resolve v0.0.1 (/opt/rustwide/workdir/crates/ezscn-resolve)
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | |                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | |                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | |_______________________________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |        let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |   __________________^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 472 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |        let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |   __________________^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 472 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |       let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 472 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | |                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | |                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | |_______________________________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 | //             CharConsumer::new(raw_str, producer.line, producer.diagnostics)
[INFO] [stdout] 595 | ||                 .collect_poisoned()
[INFO] [stdout] 596 | ||                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     | ||__________________________________________________________________________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________________________________________________________________________________________________________________________|
[INFO] [stdout]     |                                                                                                                                     the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 | //             CharConsumer::new(raw_str, producer.line, producer.diagnostics)
[INFO] [stdout] 595 | ||                 .collect_poisoned()
[INFO] [stdout] 596 | ||                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     | ||__________________________________________________________________________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________________________________________________________________________________________________________________________|
[INFO] [stdout]     |                                                                                                                                     the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:596:131
[INFO] [stdout]     |
[INFO] [stdout] 583 |     fn string_producer<'t>(producer: StringProduction<'t, '_>) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 596 |                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     |                                                                                                                                   ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:653:134
[INFO] [stdout]     |
[INFO] [stdout] 648 |     fn number_producer<'t>(producer: NumberProducer, input: &'t str, diagnostics: &'_ Diagnostics) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 653 |                 .map_err(|_| Some(Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span }))?
[INFO] [stdout]     |                                                                                                                                      ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     = note: `MayPoisoned<ezscn_ast::expression::Expression<'_>>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:664:134
[INFO] [stdout]     |
[INFO] [stdout] 648 |     fn number_producer<'t>(producer: NumberProducer, input: &'t str, diagnostics: &'_ Diagnostics) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 664 |                 .map_err(|_| Some(Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span }))?
[INFO] [stdout]     |                                                                                                                                      ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     = note: `MayPoisoned<ezscn_ast::expression::Expression<'_>>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |        let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 680 | ||         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | ||________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     |                                           the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |        let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 680 | ||         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | ||________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     |                                           the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 442 | |                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 443 | |                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | |_______________________________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |       let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 680 | |         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | |_________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |        let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |   ______________________^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 693 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |        let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |   ______________________^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 693 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |       let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 693 | |         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | |_____________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |        let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |   __________________^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 472 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |        let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |   __________________^
[INFO] [stdout]     |  |__________________|
[INFO] [stdout] 472 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |        let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 704 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |        let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 704 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:471:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |       let new_kw = parser.token_stream.next_if_kind(TokenKind::NewKeyword)
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 472 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |       let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 704 | |         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | |_____________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |        let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 746 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | ||                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | ||                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | ||______________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________________________________|
[INFO] [stdout]     |                                                                         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |        let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 746 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 554 | |                 .inspect_ok(|t| report_diagnostic(t, diagnostics))
[INFO] [stdout] 555 | |                 .inspect_poison(|t| report_diagnostic(t, diagnostics))?;
[INFO] [stdout]     | |_______________________________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |       let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 746 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 | //             CharConsumer::new(raw_str, producer.line, producer.diagnostics)
[INFO] [stdout] 595 | ||                 .collect_poisoned()
[INFO] [stdout] 596 | ||                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     | ||__________________________________________________________________________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________________________________________________________________________________________________________________________|
[INFO] [stdout]     |                                                                                                                                     the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 | //             CharConsumer::new(raw_str, producer.line, producer.diagnostics)
[INFO] [stdout] 595 | ||                 .collect_poisoned()
[INFO] [stdout] 596 | ||                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     | ||__________________________________________________________________________________________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________________________________________________________________________________________________________________________|
[INFO] [stdout]     |                                                                                                                                     the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<_, ezscn_ast::expression::Expression<'_>>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:596:131
[INFO] [stdout]     |
[INFO] [stdout] 583 |     fn string_producer<'t>(producer: StringProduction<'t, '_>) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 596 |                 .map_poison(|_| Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span })?
[INFO] [stdout]     |                                                                                                                                   ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:653:134
[INFO] [stdout]     |
[INFO] [stdout] 648 |     fn number_producer<'t>(producer: NumberProducer, input: &'t str, diagnostics: &'_ Diagnostics) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 653 |                 .map_err(|_| Some(Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span }))?
[INFO] [stdout]     |                                                                                                                                      ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     = note: `MayPoisoned<ezscn_ast::expression::Expression<'_>>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `ops::try_trait_old::FromResidual`)
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:664:134
[INFO] [stdout]     |
[INFO] [stdout] 648 |     fn number_producer<'t>(producer: NumberProducer, input: &'t str, diagnostics: &'_ Diagnostics) -> MayPoisoned<Expression<'t>> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 664 |                 .map_err(|_| Some(Expression { kind: ExpressionKind::Poison(ExpectedExpressionType::Literal), span: producer.span }))?
[INFO] [stdout]     |                                                                                                                                      ^ cannot use the `?` operator in a function that returns `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>` is not implemented for `MayPoisoned<ezscn_ast::expression::Expression<'_>>`
[INFO] [stdout]     = note: `MayPoisoned<ezscn_ast::expression::Expression<'_>>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Result<!, Option<ezscn_ast::expression::Expression<'_>>>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |        let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 680 | ||         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | ||________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     |                                           the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |        let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 680 | ||         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | ||________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     |                                           the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |       let token = parser.token_stream.next_if(|t| matches!(t.kind, TokenKind::TrueKeyword | TokenKind::FalseKeyword))
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 680 | |         .inspect_none(|| {/* report */})?;
[INFO] [stdout]     | |_________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |        let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |   ______________________^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 693 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |        let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |   ______________________^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 693 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:692:22
[INFO] [stdout]     |
[INFO] [stdout] 692 |       let null_token = parser.token_stream.next_if_kind(TokenKind::NullKeyword)
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 693 | |         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | |_____________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |        let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 704 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |        let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 704 | ||         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | ||____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________________________________|
[INFO] [stdout]     |                                                       the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:703:20
[INFO] [stdout]     |
[INFO] [stdout] 703 |       let match_kw = parser.token_stream.next_if_kind(TokenKind::MatchKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 704 | |         .inspect_none(|| {/* report diagnostics */})?;
[INFO] [stdout]     | |_____________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |        let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 746 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |        let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |   _________________^
[INFO] [stdout]     |  |_________________|
[INFO] [stdout] 746 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/expression.rs:745:17
[INFO] [stdout]     |
[INFO] [stdout] 745 |       let if_kw = parser.token_stream.next_if_kind(TokenKind::IfKeyword)
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 746 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | ||                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | ||                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | ||                 .inspect_none(|| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | ||                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | ||                 })?;
[INFO] [stdout]     | ||__________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     |                     the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | ||                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | ||                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | ||                 .inspect_none(|| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | ||                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | ||                 })?;
[INFO] [stdout]     | ||__________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     |                     the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | |                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | |                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | |                 .inspect_none(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 283 | |                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | |                 })?;
[INFO] [stdout]     | |___________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]   --> crates/ezscn-parser/src/lexer.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn next_poisoned(&mut self) -> MayPoisoned<Token> {
[INFO] [stdout]    |     ----------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 46 |         self.next()?
[INFO] [stdout]    |                    ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]   --> crates/ezscn-parser/src/lexer.rs:82:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn next_if(&mut self, f: impl Fn(&Token) -> bool) -> MayPoisoned<Token> {
[INFO] [stdout]    |     --------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 82 |         match self.next()? {
[INFO] [stdout]    |                          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]   --> crates/ezscn-parser/src/lexer.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn next_if_or_poisoned(&mut self, f: impl FnOnce(&Token) -> bool) -> MayPoisoned<Token> {
[INFO] [stdout]    |     ------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 94 |         match self.next()? {
[INFO] [stdout]    |                          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn next_if_map<U>(&mut self, f: impl Fn(Token) -> Result<U, Token>) -> MayPoisoned<U> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 103 |         let next = self.next()?;
[INFO] [stdout]     |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<U>`
[INFO] [stdout]     = note: `MayPoisoned<U>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn next_if_map_or_poisoned<U>(&mut self, f: impl Fn(Token) -> Result<U, Token>) -> MayPoisoned<MayPoisoned<U>, Token> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 116 |         let next = self.next()?;
[INFO] [stdout]     |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<MayPoisoned<U>, Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<MayPoisoned<U>, Token>`
[INFO] [stdout]     = note: `MayPoisoned<MayPoisoned<U>, Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn next_consumable_token(iter: &mut RawTokenStream<'_>, diagnostics: &Diagnostics) -> MayPoisoned<Token> {
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 201 |         }?;
[INFO] [stdout]     |          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |        let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |   _____________________^
[INFO] [stdout]    |  |_____________________|
[INFO] [stdout] 46 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |        let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |   _____________________^
[INFO] [stdout]    |  |_____________________|
[INFO] [stdout] 46 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |       let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 46 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |        let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 64 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |        let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 64 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 64 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |        let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 99 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |        let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 99 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |       let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 99 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |        let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 124 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |        let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 124 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |       let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 124 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |        let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 139 | ||         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | ||______________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout]     |                                                 the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |        let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 139 | ||         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | ||______________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout]     |                                                 the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |       let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 139 | |         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | |_______________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |        let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |   _______________________^
[INFO] [stdout]     |  |_______________________|
[INFO] [stdout] 152 | ||         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | ||_____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |______________________________________________________|
[INFO] [stdout]     |                                                        the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |        let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |   _______________________^
[INFO] [stdout]     |  |_______________________|
[INFO] [stdout] 152 | ||         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | ||_____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |______________________________________________________|
[INFO] [stdout]     |                                                        the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |       let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 152 | |         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | |______________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]   --> crates/ezscn-parser/src/string.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn collect_char_poisoned(mut self, char_span: Span) -> MayPoisoned<char, usize> {
[INFO] [stdout]    |     ----------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 40 |         let char = self.next()?;
[INFO] [stdout]    |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<char, usize>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<char, usize>`
[INFO] [stdout]    = note: `MayPoisoned<char, usize>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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 `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | ||                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | ||                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | ||                 .inspect_none(|| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | ||                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | ||                 })?;
[INFO] [stdout]     | ||__________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     |                     the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | //             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | ||                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | ||                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | ||                 .inspect_none(|| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | ||                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | ||                 })?;
[INFO] [stdout]     | ||__________________^- required by a bound introduced by this call
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     |                     the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 | /             parser.token_stream.next_poisoned()
[INFO] [stdout] 278 | |                 .inspect_ok(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 279 | |                 .inspect_poison(|t| func_block_diagnostic(t, parser.diagnostics))
[INFO] [stdout] 280 | |                 .inspect_none(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 283 | |                     parser.diagnostics.report_grammar_diagnostic(line, span, GrammarError::UnterminatedFunc);
[INFO] [stdout] 284 | |                 })?;
[INFO] [stdout]     | |___________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/items.rs:429:9
[INFO] [stdout]     |
[INFO] [stdout] 429 |         parser.token_stream.next_if_kind(TokenKind::Plus)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ezscn-parser` (lib) due to 57 previous errors
[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]   --> crates/ezscn-parser/src/lexer.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn next_poisoned(&mut self) -> MayPoisoned<Token> {
[INFO] [stdout]    |     ----------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 46 |         self.next()?
[INFO] [stdout]    |                    ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]   --> crates/ezscn-parser/src/lexer.rs:82:26
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn next_if(&mut self, f: impl Fn(&Token) -> bool) -> MayPoisoned<Token> {
[INFO] [stdout]    |     --------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 82 |         match self.next()? {
[INFO] [stdout]    |                          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]   --> crates/ezscn-parser/src/lexer.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn next_if_or_poisoned(&mut self, f: impl FnOnce(&Token) -> bool) -> MayPoisoned<Token> {
[INFO] [stdout]    |     ------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 94 |         match self.next()? {
[INFO] [stdout]    |                          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:103:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn next_if_map<U>(&mut self, f: impl Fn(Token) -> Result<U, Token>) -> MayPoisoned<U> {
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 103 |         let next = self.next()?;
[INFO] [stdout]     |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<U>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<U>`
[INFO] [stdout]     = note: `MayPoisoned<U>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:116:31
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn next_if_map_or_poisoned<U>(&mut self, f: impl Fn(Token) -> Result<U, Token>) -> MayPoisoned<MayPoisoned<U>, Token> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 116 |         let next = self.next()?;
[INFO] [stdout]     |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<MayPoisoned<U>, Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<MayPoisoned<U>, Token>`
[INFO] [stdout]     = note: `MayPoisoned<MayPoisoned<U>, Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[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]    --> crates/ezscn-parser/src/lexer.rs:201:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn next_consumable_token(iter: &mut RawTokenStream<'_>, diagnostics: &Diagnostics) -> MayPoisoned<Token> {
[INFO] [stdout]     |     -------------------------------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 201 |         }?;
[INFO] [stdout]     |          ^ cannot use the `?` operator in a method that returns `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |        let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |   _____________________^
[INFO] [stdout]    |  |_____________________|
[INFO] [stdout] 46 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |        let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |   _____________________^
[INFO] [stdout]    |  |_____________________|
[INFO] [stdout] 46 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |       let return_kw = parser.token_stream.next_if_kind(TokenKind::ReturnKeyword)
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 46 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |        let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 64 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |        let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 64 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let let_kw = parser.token_stream.next_if_kind(TokenKind::LetKeyword)
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 64 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |        let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 99 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |        let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |   __________________^
[INFO] [stdout]    |  |__________________|
[INFO] [stdout] 99 | ||         .inspect_none(|| {})?;
[INFO] [stdout]    | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]    | |_____________________________|
[INFO] [stdout]    |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]   --> crates/ezscn-parser/src/statement.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |       let for_kw = parser.token_stream.next_if_kind(TokenKind::ForKeyword)
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 99 | |         .inspect_none(|| {})?;
[INFO] [stdout]    | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]    = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |        let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 124 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |        let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 124 | ||         .inspect_none(|| {})?;
[INFO] [stdout]     | ||____________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_____________________________|
[INFO] [stdout]     |                               the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |       let while_kw = parser.token_stream.next_if_kind(TokenKind::WhileKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 124 | |         .inspect_none(|| {})?;
[INFO] [stdout]     | |_____________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |        let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 139 | ||         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | ||______________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout]     |                                                 the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |        let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |   ____________________^
[INFO] [stdout]     |  |____________________|
[INFO] [stdout] 139 | ||         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | ||______________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |_______________________________________________|
[INFO] [stdout]     |                                                 the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:138:20
[INFO] [stdout]     |
[INFO] [stdout] 138 |       let break_kw = parser.token_stream.next_if_kind(TokenKind::BreakKeyword)
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 139 | |         .inspect_none(|| { /* diagnostics */})?;
[INFO] [stdout]     | |_______________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::Try` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |        let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |   _______________________^
[INFO] [stdout]     |  |_______________________|
[INFO] [stdout] 152 | ||         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | ||_____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |______________________________________________________|
[INFO] [stdout]     |                                                        the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MayPoisoned<Token>: ops::try_trait_old::FromResidual<_>` is not satisfied
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |        let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |   _______________________^
[INFO] [stdout]     |  |_______________________|
[INFO] [stdout] 152 | ||         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | ||_____________________________________________________^- required by a bound introduced by this call
[INFO] [stdout]     | |______________________________________________________|
[INFO] [stdout]     |                                                        the trait `ops::try_trait_old::FromResidual<_>` is not implemented for `MayPoisoned<Token>`
[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] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `ops::try_trait_old::Try`
[INFO] [stdout]    --> crates/ezscn-parser/src/statement.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |       let continue_kw = parser.token_stream.next_if_kind(TokenKind::ContinueKeyword)
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 152 | |         .inspect_none(|| { /* report diagnostics */})?;
[INFO] [stdout]     | |______________________________________________________^ the `?` operator cannot be applied to type `MayPoisoned<Token>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `ops::try_trait_old::Try` is not implemented for `MayPoisoned<Token>`
[INFO] [stdout]     = note: `MayPoisoned<Token>` implements similarly named trait `Try`, but not `ops::try_trait_old::Try`
[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]   --> crates/ezscn-parser/src/string.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn collect_char_poisoned(mut self, char_span: Span) -> MayPoisoned<char, usize> {
[INFO] [stdout]    |     ----------------------------------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 40 |         let char = self.next()?;
[INFO] [stdout]    |                               ^ cannot use the `?` operator in a method that returns `MayPoisoned<char, usize>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `ops::try_trait_old::FromResidual<Option<!>>` is not implemented for `MayPoisoned<char, usize>`
[INFO] [stdout]    = note: `MayPoisoned<char, usize>` implements similarly named trait `FromResidual`, but not `ops::try_trait_old::FromResidual<Option<!>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ezscn-parser` (lib test) due to 57 previous errors
[INFO] [stderr] warning: unused dependency `ezscn-ast`
[INFO] [stderr]  --> crates/ezscn-resolve/Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | ezscn-ast = { path = "../ezscn-ast", version = "0.0.1" }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `ezscn-ast`
[INFO] [stderr] warning: unused dependency `ezscn-error`
[INFO] [stderr]  --> crates/ezscn-resolve/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | ezscn-error = { version = "0.0.1", path = "../ezscn-error" }
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `ezscn-error`
[INFO] [stderr] warning: `ezscn-resolve` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "inspect" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2", kill_on_drop: false }`
[INFO] [stdout] 01d038b5cfebf543110c87e3d02f8e6222c211b6100b5c3e9ffc6c00995025a2
