[INFO] fetching crate piske 0.1.2...
[INFO] testing piske-0.1.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate piske 0.1.2 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate piske 0.1.2
[INFO] finished tweaking crates.io crate piske 0.1.2
[INFO] tweaked toml for crates.io crate piske 0.1.2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate piske 0.1.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 88 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.6.1)
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding quote v0.3.15 (available: v1.0.45)
[INFO] [stderr]       Adding regex v0.2.11 (available: v1.12.3)
[INFO] [stderr]       Adding rustyline v4.1.0 (available: v18.0.0)
[INFO] [stderr]       Adding tempfile v2.2.0 (available: v3.27.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7dcf823e0a3fdf9113b496046063c3e1e9329e28e45042ccbd183797b3e2244b
[INFO] running `Command { std: "docker" "start" "-a" "7dcf823e0a3fdf9113b496046063c3e1e9329e28e45042ccbd183797b3e2244b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7dcf823e0a3fdf9113b496046063c3e1e9329e28e45042ccbd183797b3e2244b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dcf823e0a3fdf9113b496046063c3e1e9329e28e45042ccbd183797b3e2244b", kill_on_drop: false }`
[INFO] [stdout] 7dcf823e0a3fdf9113b496046063c3e1e9329e28e45042ccbd183797b3e2244b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f90c42ce430f595730520ee352ecb3f7fe9843a00d2d737ffe08ab3441a770a9
[INFO] running `Command { std: "docker" "start" "-a" "f90c42ce430f595730520ee352ecb3f7fe9843a00d2d737ffe08ab3441a770a9", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling codemap v0.1.3
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling num-rational v0.1.43
[INFO] [stderr]    Compiling codemap-diagnostic v0.1.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.3.4
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling wee-peg v0.5.4
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling ucd-util v0.1.10
[INFO] [stderr]    Compiling nix v0.13.1
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling gif v0.9.2
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling sindra v0.1.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling png v0.11.0
[INFO] [stderr]    Compiling piske v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling utf8parse v0.1.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling image v0.18.0
[INFO] [stderr]    Compiling rustyline v4.1.0
[INFO] [stderr]    Compiling psk_std v0.1.0
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:271:358
[INFO] [stdout]     |
[INFO] [stdout] 271 | ...f}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _...
[INFO] [stdout]     |                                               ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/eval.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/symbol.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/type_visitor.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/transpile.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / lazy_static! {
[INFO] [stdout]  9 | |     /// Result type definition for all arithmetic infix operations. `Some(...)` indicates that the
[INFO] [stdout] 10 | |     /// operation is possible and has the given result type, `None` indicates that the operation
[INFO] [stdout] 11 | |     /// is invalid on the supplied types.
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     ];
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | / lazy_static! {
[INFO] [stdout] 31 | |     /// Table of comparable (via comparison operators; e.g. <, <=, >, >=) types. 'Some(...)'
[INFO] [stdout] 32 | |     /// indicates the types are comparable but both sides need to be the specified type. 'None'
[INFO] [stdout] 33 | |     /// indicates they are not comparable.
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     ];
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 75 |     stdin: Box<Read>,
[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] 75 |     stdin: Box<dyn Read>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     stdout: Box<Write>,
[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] 77 |     stdout: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |     stderr: Box<Write>,
[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] 79 |     stderr: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:105:37
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn stdin(&mut self) -> &mut Read { self.stdin.as_mut() }
[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] 105 |     pub fn stdin(&mut self) -> &mut dyn Read { self.stdin.as_mut() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn stdout(&mut self) -> &mut Write { self.stdout.as_mut() }
[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] 107 |     pub fn stdout(&mut self) -> &mut dyn Write { self.stdout.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn stderr(&mut self) -> &mut Write { self.stderr.as_mut() }
[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] 109 |     pub fn stderr(&mut self) -> &mut dyn Write { self.stderr.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]  --> src/visitor/interp/macros.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | macro_rules! add_interpreter_func {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]   --> src/visitor/interp/macros.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | macro_rules! add_func {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.74s
[INFO] running `Command { std: "docker" "inspect" "f90c42ce430f595730520ee352ecb3f7fe9843a00d2d737ffe08ab3441a770a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f90c42ce430f595730520ee352ecb3f7fe9843a00d2d737ffe08ab3441a770a9", kill_on_drop: false }`
[INFO] [stdout] f90c42ce430f595730520ee352ecb3f7fe9843a00d2d737ffe08ab3441a770a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87c7626527ec7fa5c87fe7a705e93edad5ba7219eed6ce89c1e8a5de4e9085dd
[INFO] running `Command { std: "docker" "start" "-a" "87c7626527ec7fa5c87fe7a705e93edad5ba7219eed6ce89c1e8a5de4e9085dd", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:271:358
[INFO] [stdout]     |
[INFO] [stdout] 271 | ...f}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _...
[INFO] [stdout]     |                                               ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/eval.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/symbol.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/type_visitor.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/transpile.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / lazy_static! {
[INFO] [stdout]  9 | |     /// Result type definition for all arithmetic infix operations. `Some(...)` indicates that the
[INFO] [stdout] 10 | |     /// operation is possible and has the given result type, `None` indicates that the operation
[INFO] [stdout] 11 | |     /// is invalid on the supplied types.
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     ];
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | / lazy_static! {
[INFO] [stdout] 31 | |     /// Table of comparable (via comparison operators; e.g. <, <=, >, >=) types. 'Some(...)'
[INFO] [stdout] 32 | |     /// indicates the types are comparable but both sides need to be the specified type. 'None'
[INFO] [stdout] 33 | |     /// indicates they are not comparable.
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     ];
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 75 |     stdin: Box<Read>,
[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] 75 |     stdin: Box<dyn Read>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     stdout: Box<Write>,
[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] 77 |     stdout: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |     stderr: Box<Write>,
[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] 79 |     stderr: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:105:37
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn stdin(&mut self) -> &mut Read { self.stdin.as_mut() }
[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] 105 |     pub fn stdin(&mut self) -> &mut dyn Read { self.stdin.as_mut() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn stdout(&mut self) -> &mut Write { self.stdout.as_mut() }
[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] 107 |     pub fn stdout(&mut self) -> &mut dyn Write { self.stdout.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn stderr(&mut self) -> &mut Write { self.stderr.as_mut() }
[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] 109 |     pub fn stderr(&mut self) -> &mut dyn Write { self.stderr.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]  --> src/visitor/interp/macros.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | macro_rules! add_interpreter_func {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]   --> src/visitor/interp/macros.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | macro_rules! add_func {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling tempfile v2.2.0
[INFO] [stderr]    Compiling piske v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:271:358
[INFO] [stdout]     |
[INFO] [stdout] 271 | ...f}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _...
[INFO] [stdout]     |                                               ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/eval.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/symbol.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/type_visitor.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/visitor/transpile.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn visit(&self, &mut State) -> Result;
[INFO] [stdout]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / lazy_static! {
[INFO] [stdout]  9 | |     /// Result type definition for all arithmetic infix operations. `Some(...)` indicates that the
[INFO] [stdout] 10 | |     /// operation is possible and has the given result type, `None` indicates that the operation
[INFO] [stdout] 11 | |     /// is invalid on the supplied types.
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     ];
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/ast/inference.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | / lazy_static! {
[INFO] [stdout] 31 | |     /// Table of comparable (via comparison operators; e.g. <, <=, >, >=) types. 'Some(...)'
[INFO] [stdout] 32 | |     /// indicates the types are comparable but both sides need to be the specified type. 'None'
[INFO] [stdout] 33 | |     /// indicates they are not comparable.
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | |     ];
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 75 |     stdin: Box<Read>,
[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] 75 |     stdin: Box<dyn Read>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     stdout: Box<Write>,
[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] 77 |     stdout: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/visitor/state.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |     stderr: Box<Write>,
[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] 79 |     stderr: Box<dyn Write>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:105:37
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn stdin(&mut self) -> &mut Read { self.stdin.as_mut() }
[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] 105 |     pub fn stdin(&mut self) -> &mut dyn Read { self.stdin.as_mut() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn stdout(&mut self) -> &mut Write { self.stdout.as_mut() }
[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] 107 |     pub fn stdout(&mut self) -> &mut dyn Write { self.stdout.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/visitor/state.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn stderr(&mut self) -> &mut Write { self.stderr.as_mut() }
[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] 109 |     pub fn stderr(&mut self) -> &mut dyn Write { self.stderr.as_mut() }
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]  --> src/visitor/interp/macros.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | macro_rules! add_interpreter_func {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a macro
[INFO] [stdout]   --> src/visitor/interp/macros.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | macro_rules! add_func {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.31s
[INFO] running `Command { std: "docker" "inspect" "87c7626527ec7fa5c87fe7a705e93edad5ba7219eed6ce89c1e8a5de4e9085dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87c7626527ec7fa5c87fe7a705e93edad5ba7219eed6ce89c1e8a5de4e9085dd", kill_on_drop: false }`
[INFO] [stdout] 87c7626527ec7fa5c87fe7a705e93edad5ba7219eed6ce89c1e8a5de4e9085dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 696e8256dfcc9e0f37e235ae3717b4fb17093775317f0fa93aecf999ca1787b6
[INFO] running `Command { std: "docker" "start" "-a" "696e8256dfcc9e0f37e235ae3717b4fb17093775317f0fa93aecf999ca1787b6", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:29:15
[INFO] [stderr]    |
[INFO] [stderr] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:271:358
[INFO] [stderr]     |
[INFO] [stderr] 271 | ...f}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _...
[INFO] [stderr]     |                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/visitor/eval.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 |     fn visit(&self, &mut State) -> Result;
[INFO] [stderr]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/visitor/symbol.rs:20:21
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn visit(&self, &mut State) -> Result;
[INFO] [stderr]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/visitor/type_visitor.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn visit(&self, &mut State) -> Result;
[INFO] [stderr]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/visitor/transpile.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |     fn visit(&self, &mut State) -> Result;
[INFO] [stderr]    |                     ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut State`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/ast/inference.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr]  8 | / lazy_static! {
[INFO] [stderr]  9 | |     /// Result type definition for all arithmetic infix operations. `Some(...)` indicates that the
[INFO] [stderr] 10 | |     /// operation is possible and has the given result type, `None` indicates that the operation
[INFO] [stderr] 11 | |     /// is invalid on the supplied types.
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     ];
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/ast/inference.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | / lazy_static! {
[INFO] [stderr] 31 | |     /// Table of comparable (via comparison operators; e.g. <, <=, >, >=) types. 'Some(...)'
[INFO] [stderr] 32 | |     /// indicates the types are comparable but both sides need to be the specified type. 'None'
[INFO] [stderr] 33 | |     /// indicates they are not comparable.
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     ];
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/visitor/state.rs:75:16
[INFO] [stderr]    |
[INFO] [stderr] 75 |     stdin: Box<Read>,
[INFO] [stderr]    |                ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 75 |     stdin: Box<dyn Read>,
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/visitor/state.rs:77:17
[INFO] [stderr]    |
[INFO] [stderr] 77 |     stdout: Box<Write>,
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 77 |     stdout: Box<dyn Write>,
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/visitor/state.rs:79:17
[INFO] [stderr]    |
[INFO] [stderr] 79 |     stderr: Box<Write>,
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 79 |     stderr: Box<dyn Write>,
[INFO] [stderr]    |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/visitor/state.rs:105:37
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn stdin(&mut self) -> &mut Read { self.stdin.as_mut() }
[INFO] [stderr]     |                                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn stdin(&mut self) -> &mut dyn Read { self.stdin.as_mut() }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/visitor/state.rs:107:38
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn stdout(&mut self) -> &mut Write { self.stdout.as_mut() }
[INFO] [stderr]     |                                      ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn stdout(&mut self) -> &mut dyn Write { self.stdout.as_mut() }
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/visitor/state.rs:109:38
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn stderr(&mut self) -> &mut Write { self.stderr.as_mut() }
[INFO] [stderr]     |                                      ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn stderr(&mut self) -> &mut dyn Write { self.stderr.as_mut() }
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a macro
[INFO] [stderr]  --> src/visitor/interp/macros.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | macro_rules! add_interpreter_func {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]  --> src/lib.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![warn(missing_docs)]
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a macro
[INFO] [stderr]   --> src/visitor/interp/macros.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | macro_rules! add_func {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `piske` (lib) generated 20 warnings (run `cargo fix --lib -p piske` to apply 11 suggestions)
[INFO] [stderr] warning: `piske` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/piske-83bbf783f665c792)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/piske.rs (/opt/rustwide/target/debug/deps/piske-a060ef8f27b2b26d)
[INFO] [stderr]      Running tests/arithmetic.rs (/opt/rustwide/target/debug/deps/arithmetic-de67034c2ae3b60a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_conjugate ... ok
[INFO] [stdout] test test_prefix ... ok
[INFO] [stdout] test test_infix ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s
[INFO] [stderr]      Running tests/block.rs (/opt/rustwide/target/debug/deps/block-d88e9997d22c30a2)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_multiline ... ok
[INFO] [stdout] test test_program ... ok
[INFO] [stdout] test test_block ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/complex.rs (/opt/rustwide/target/debug/deps/complex-e31c7b6c2f7f2ee4)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_conjugate ... ok
[INFO] [stdout] test test_complex_assign ... ok
[INFO] [stdout] test test_imaginary ... ok
[INFO] [stdout] test test_complex_arith ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/evaluate.rs (/opt/rustwide/target/debug/deps/evaluate-e79caee6387d84a7)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_eval_raise ... ok
[INFO] [stdout] test test_eval_assign ... ok
[INFO] [stdout] test test_eval_add ... ok
[INFO] [stdout] test test_eval_conjugate ... ok
[INFO] [stdout] test test_eval_divide ... ok
[INFO] [stdout] test test_eval_add_mixed ... ok
[INFO] [stdout] test test_string ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/function.rs (/opt/rustwide/target/debug/deps/function-8a1c2113a94e4cb3)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_function_one_param ... ok
[INFO] [stdout] test test_function_two_params ... ok
[INFO] [stdout] test test_return ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ifelse.rs (/opt/rustwide/target/debug/deps/ifelse-76649c190fb887f0)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_ifelse ... ok
[INFO] [stdout] test test_if_expr ... ok
[INFO] [stdout] test test_if ... ok
[INFO] [stdout] test test_cond ... ok
[INFO] [stdout] test test_if_cond ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.68s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/literals.rs (/opt/rustwide/target/debug/deps/literals-58396b78ba3860ec)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_num ... ok
[INFO] [stdout] test test_str ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/loop.rs (/opt/rustwide/target/debug/deps/loop-2b96216462a4957e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_interval_integer ... ok
[INFO] [stdout] test test_break ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.92s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/macros.rs (/opt/rustwide/target/debug/deps/macros-a38bb1fe1d9d8499)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/statement.rs (/opt/rustwide/target/debug/deps/statement-f9971d00a3d470cb)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_assign_stmt ... ok
[INFO] [stdout] test test_decl_stmt ... ok
[INFO] [stdout] test test_expr_stmt ... ok
[INFO] [stdout] test test_print ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.77s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stdlib.rs (/opt/rustwide/target/debug/deps/stdlib-831d1d0a509fc332)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_complex_extraction ... ok
[INFO] [stdout] test test_image_dims ... ok
[INFO] [stdout] test test_project ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/symbol_define.rs (/opt/rustwide/target/debug/deps/symbol_define-5cb327cdfeb7eb52)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_symbol_define ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_utils.rs (/opt/rustwide/target/debug/deps/test_utils-40fb649dfb2e46ea)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/transpile.rs (/opt/rustwide/target/debug/deps/transpile-49d8cf32993f651f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_examine ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.58s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/type_computation.rs (/opt/rustwide/target/debug/deps/type_computation-4a40c4381d214261)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_compute_types ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests piske
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/piske-378b57ce8807cc51/out/piske.rs:271:358
[INFO] [stderr]     |
[INFO] [stderr] 271 | ...f}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _...
[INFO] [stderr]     |                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stdout] running 0 tests
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "696e8256dfcc9e0f37e235ae3717b4fb17093775317f0fa93aecf999ca1787b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "696e8256dfcc9e0f37e235ae3717b4fb17093775317f0fa93aecf999ca1787b6", kill_on_drop: false }`
[INFO] [stdout] 696e8256dfcc9e0f37e235ae3717b4fb17093775317f0fa93aecf999ca1787b6
