[INFO] fetching crate stutter-rs 0.1.1...
[INFO] testing stutter-rs-0.1.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate stutter-rs 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate stutter-rs 0.1.1
[INFO] finished tweaking crates.io crate stutter-rs 0.1.1
[INFO] tweaked toml for crates.io crate stutter-rs 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate stutter-rs 0.1.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 14 packages to highest compatible versions
[INFO] [stderr]       Adding colored v1.9.4 (available: v3.1.1)
[INFO] [stderr]       Adding nom v4.2.3 (available: v8.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `stutter-rs` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed
[INFO] running `Command { std: "docker" "start" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed", 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" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: Cargo.toml: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr] warning: `stutter-rs` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling cactus v1.0.7
[INFO] [stderr]    Compiling colored v1.9.4
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling stutter-rs v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns, fn_traits, nll, iterator_step_by)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns, fn_traits, nll, iterator_step_by)]
[INFO] [stdout]   |                        ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.100.0
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/eval/builtins/static_functions.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         box | values | -> Value {
[INFO] [stdout]    |         ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/eval/builtins/language_functions.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         box | args, stack | -> Value {
[INFO] [stdout]    |         ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns, fn_traits, nll, iterator_step_by)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the feature `nll` has been stable since `1.63.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | named!(pub debug_expr<Expression>, dbg_dmp!(expr));
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `dbg_dmp`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `dbg_dmp` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | named!(pub debug_program<Program>, dbg_dmp!(program));
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `dbg_dmp`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `dbg_dmp` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / named!(pub expr<Expression>,
[INFO] [stdout] 20 | |     alt!(
[INFO] [stdout] 21 | |         do_parse!(
[INFO] [stdout] 22 | |             n: tag!("null") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / named!(pub expr<Expression>,
[INFO] [stdout] 20 | |     alt!(
[INFO] [stdout] 21 | |         do_parse!(
[INFO] [stdout] 22 | |             n: tag!("null") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / named!(pub expr<Expression>,
[INFO] [stdout] 20 | |     alt!(
[INFO] [stdout] 21 | |         do_parse!(
[INFO] [stdout] 22 | |             n: tag!("null") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / named!(pub expr<Expression>,
[INFO] [stdout] 20 | |     alt!(
[INFO] [stdout] 21 | |         do_parse!(
[INFO] [stdout] 22 | |             n: tag!("null") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / named!(pub expr<Expression>,
[INFO] [stdout] 20 | |     alt!(
[INFO] [stdout] 21 | |         do_parse!(
[INFO] [stdout] 22 | |             n: tag!("null") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | / named!(dot_access<Vec<Symbol>>, do_parse!(
[INFO] [stdout] 75 | |     init: symbol >>
[INFO] [stdout] 76 | |     all: fold_many1!(ws!(pair!(char!('.'), symbol)), vec![init], |mut acc: Vec<Symbol>, item: (char, Symbol)| {
[INFO] [stdout] 77 | |         acc.push(item.1); acc
[INFO] [stdout] 78 | |     }) >>
[INFO] [stdout] 79 | |     (all)
[INFO] [stdout] 80 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | / named!(dot_access<Vec<Symbol>>, do_parse!(
[INFO] [stdout] 75 | |     init: symbol >>
[INFO] [stdout] 76 | |     all: fold_many1!(ws!(pair!(char!('.'), symbol)), vec![init], |mut acc: Vec<Symbol>, item: (char, Symbol)| {
[INFO] [stdout] 77 | |         acc.push(item.1); acc
[INFO] [stdout] 78 | |     }) >>
[INFO] [stdout] 79 | |     (all)
[INFO] [stdout] 80 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `pair_sep`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `pair_sep` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | / named!(dot_access<Vec<Symbol>>, do_parse!(
[INFO] [stdout] 75 | |     init: symbol >>
[INFO] [stdout] 76 | |     all: fold_many1!(ws!(pair!(char!('.'), symbol)), vec![init], |mut acc: Vec<Symbol>, item: (char, Symbol)| {
[INFO] [stdout] 77 | |         acc.push(item.1); acc
[INFO] [stdout] 78 | |     }) >>
[INFO] [stdout] 79 | |     (all)
[INFO] [stdout] 80 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `pair_sep`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `pair_sep` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/ast/parse.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 | / named!(symbol<Symbol>, do_parse!(
[INFO] [stdout] 91 | |     sym: map!(
[INFO] [stdout] 92 | |         alphanumeric,
[INFO] [stdout] 93 | |         |a: &[u8]| String::from_utf8(a.to_vec()).unwrap()
[INFO] [stdout] 94 | |     ) >>
[INFO] [stdout] 95 | |     (sym)
[INFO] [stdout] 96 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/ast/parse.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / named!(number<f32>, map!(
[INFO] [stdout]  99 | |     alt!(
[INFO] [stdout] 100 | |         recognize!(delimited!(
[INFO] [stdout] 101 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |     |a| FromStr::from_str(str::from_utf8(a).unwrap()).unwrap()
[INFO] [stdout] 108 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/ast/parse.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / named!(number<f32>, map!(
[INFO] [stdout]  99 | |     alt!(
[INFO] [stdout] 100 | |         recognize!(delimited!(
[INFO] [stdout] 101 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |     |a| FromStr::from_str(str::from_utf8(a).unwrap()).unwrap()
[INFO] [stdout] 108 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `delimited`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `delimited` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/ast/parse.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / named!(number<f32>, map!(
[INFO] [stdout]  99 | |     alt!(
[INFO] [stdout] 100 | |         recognize!(delimited!(
[INFO] [stdout] 101 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |     |a| FromStr::from_str(str::from_utf8(a).unwrap()).unwrap()
[INFO] [stdout] 108 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `tuple_parser`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/ast/parse.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]  98 | / named!(number<f32>, map!(
[INFO] [stdout]  99 | |     alt!(
[INFO] [stdout] 100 | |         recognize!(delimited!(
[INFO] [stdout] 101 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |     |a| FromStr::from_str(str::from_utf8(a).unwrap()).unwrap()
[INFO] [stdout] 108 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `alt` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/ast/parse.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / named!(string<String>, map!(
[INFO] [stdout] 111 | |     delimited!(
[INFO] [stdout] 112 | |         char!('"'),
[INFO] [stdout] 113 | |         is_not!("\""),
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     |a| String::from_utf8(a.to_vec()).unwrap()
[INFO] [stdout] 117 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns, fn_traits, nll, iterator_step_by)]
[INFO] [stdout]   |                                                 ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `iterator_step_by` has been stable since 1.28.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:54
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns, fn_traits, nll, iterator_step_by)]
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/eval/builtins/static_functions.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type StaticFn = Fn(Vec<Value>) -> Value;
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type StaticFn = dyn Fn(Vec<Value>) -> Value;
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/eval/builtins/language_functions.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type LanguageFn = Fn(Vec<Expression>, &mut CallStack) -> Value;
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type LanguageFn = dyn Fn(Vec<Expression>, &mut CallStack) -> Value;
[INFO] [stdout]   |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/ast/function.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn eq(&self, other: &Function) -> bool {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/eval/types.rs:110:36
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if let Value::Function(ref func) = frame.borrow().returns {
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stutter-rs` (lib) due to 5 previous errors; 38 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed", kill_on_drop: false }`
[INFO] [stdout] ff150811d328a9a809e723c150e80b859e43ba158c88923e12d8e5e93a22f4ed
