[INFO] cloning repository https://github.com/jffjs/rlox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jffjs/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjffjs%2Frlox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjffjs%2Frlox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] da1faa4590c4f9ebee385768939933a6e8290422
[INFO] documenting jffjs/rlox against beta-2025-10-28 for beta-1.92-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjffjs%2Frlox" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jffjs/rlox
[INFO] finished tweaking git repo https://github.com/jffjs/rlox
[INFO] tweaked toml for git repo https://github.com/jffjs/rlox written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jffjs/rlox on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jffjs/rlox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded snowflake v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f37f580db92a9b08a21a891ca04415a408435c2b579738ef15b5222247ef4ac
[INFO] running `Command { std: "docker" "start" "-a" "5f37f580db92a9b08a21a891ca04415a408435c2b579738ef15b5222247ef4ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f37f580db92a9b08a21a891ca04415a408435c2b579738ef15b5222247ef4ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f37f580db92a9b08a21a891ca04415a408435c2b579738ef15b5222247ef4ac", kill_on_drop: false }`
[INFO] [stdout] 5f37f580db92a9b08a21a891ca04415a408435c2b579738ef15b5222247ef4ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 807bd9c280ebb30edae8df91b3da929a9c86079261deb7e877a7fafe5068c46e
[INFO] running `Command { std: "docker" "start" "-a" "807bd9c280ebb30edae8df91b3da929a9c86079261deb7e877a7fafe5068c46e", kill_on_drop: false }`
[INFO] [stderr]     Checking snowflake v1.3.0
[INFO] [stderr]     Checking ast v0.1.0 (/opt/rustwide/workdir/ast)
[INFO] [stderr]     Checking parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stderr]     Checking interpreter v0.1.0 (/opt/rustwide/workdir/interpreter)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 23 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 44 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/lib.rs:38:64
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn parse(source: String) -> Result<Vec<ast::Stmt>, Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 38 | pub fn parse(source: String) -> Result<Vec<ast::Stmt>, Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/lib.rs:711:32
[INFO] [stdout]     |
[INFO] [stdout] 711 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 711 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:75:64
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn scan_tokens(mut self) -> Result<Vec<Token>, Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 75 |     pub fn scan_tokens(mut self) -> Result<Vec<Token>, Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:100:48
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn scan_token(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 100 |     fn scan_token(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:161:25
[INFO] [stdout]     |
[INFO] [stdout] 161 |     ) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 161 |     ) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:168:59
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn handle_string_literal(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 168 |     fn handle_string_literal(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:188:59
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn handle_number_literal(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 188 |     fn handle_number_literal(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:208:55
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn handle_identifier(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 208 |     fn handle_identifier(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/error.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 60 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:35:67
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn run(&mut self, stmts: Vec<Stmt>) -> Result<(), Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 35 |     pub fn run(&mut self, stmts: Vec<Stmt>) -> Result<(), Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/lib.rs:26:74
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn run(&mut self, program: Vec<ast::Stmt>) -> Result<(), Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 26 |     pub fn run(&mut self, program: Vec<ast::Stmt>) -> Result<(), Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> parser/src/scanner.rs:14:58
[INFO] [stdout]    |
[INFO] [stdout] 14 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> parser/src/scanner.rs:35:58
[INFO] [stdout]    |
[INFO] [stdout] 35 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:76:33
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 76 |         let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> interpreter/src/error.rs:19:58
[INFO] [stdout]    |
[INFO] [stdout] 19 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/lib.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 42 |     let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> interpreter/src/error.rs:51:58
[INFO] [stdout]    |
[INFO] [stdout] 51 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let mut boxed: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 37 |             let mut boxed: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 44 |         let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> parser/src/lib.rs:702:58
[INFO] [stdout]     |
[INFO] [stdout] 702 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]     |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lexeme` is never read
[INFO] [stdout]    --> parser/src/lib.rs:697:5
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub struct ParseError {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 697 |     lexeme: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.97s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/rlox/index.html
[INFO] running `Command { std: "docker" "inspect" "807bd9c280ebb30edae8df91b3da929a9c86079261deb7e877a7fafe5068c46e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "807bd9c280ebb30edae8df91b3da929a9c86079261deb7e877a7fafe5068c46e", kill_on_drop: false }`
[INFO] [stdout] 807bd9c280ebb30edae8df91b3da929a9c86079261deb7e877a7fafe5068c46e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 89a74eed91363e4b4b9ddb2a0d24f79c2014cb1c02078353472a41bc5cc51693
[INFO] running `Command { std: "docker" "start" "-a" "89a74eed91363e4b4b9ddb2a0d24f79c2014cb1c02078353472a41bc5cc51693", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/error.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 60 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:35:67
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn run(&mut self, stmts: Vec<Stmt>) -> Result<(), Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 35 |     pub fn run(&mut self, stmts: Vec<Stmt>) -> Result<(), Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/lib.rs:26:74
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn run(&mut self, program: Vec<ast::Stmt>) -> Result<(), Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 26 |     pub fn run(&mut self, program: Vec<ast::Stmt>) -> Result<(), Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> interpreter/src/error.rs:19:58
[INFO] [stdout]    |
[INFO] [stdout] 19 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> interpreter/src/error.rs:51:58
[INFO] [stdout]    |
[INFO] [stdout] 51 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let mut boxed: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 37 |             let mut boxed: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> interpreter/src/interpreter.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 44 |         let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 23 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 44 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/lib.rs:38:64
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn parse(source: String) -> Result<Vec<ast::Stmt>, Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 38 | pub fn parse(source: String) -> Result<Vec<ast::Stmt>, Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/lib.rs:711:32
[INFO] [stdout]     |
[INFO] [stdout] 711 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 711 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:75:64
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn scan_tokens(mut self) -> Result<Vec<Token>, Vec<Box<Error>>> {
[INFO] [stdout]    |                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 75 |     pub fn scan_tokens(mut self) -> Result<Vec<Token>, Vec<Box<dyn Error>>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:100:48
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn scan_token(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 100 |     fn scan_token(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:161:25
[INFO] [stdout]     |
[INFO] [stdout] 161 |     ) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 161 |     ) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:168:59
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn handle_string_literal(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 168 |     fn handle_string_literal(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:188:59
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn handle_number_literal(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 188 |     fn handle_number_literal(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> parser/src/scanner.rs:208:55
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn handle_identifier(&mut self) -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 208 |     fn handle_identifier(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> parser/src/scanner.rs:14:58
[INFO] [stdout]    |
[INFO] [stdout] 14 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> parser/src/scanner.rs:35:58
[INFO] [stdout]    |
[INFO] [stdout] 35 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/scanner.rs:76:33
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 76 |         let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> parser/src/lib.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut errors: Vec<Box<Error>> = vec![];
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 42 |     let mut errors: Vec<Box<dyn Error>> = vec![];
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> parser/src/lib.rs:702:58
[INFO] [stdout]     |
[INFO] [stdout] 702 |         write!(f, "[line {}] Error: {}", self.line, self.description())
[INFO] [stdout]     |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lexeme` is never read
[INFO] [stdout]    --> parser/src/lib.rs:697:5
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub struct ParseError {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 697 |     lexeme: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stderr]    Generated /opt/rustwide/target/doc/rlox/index.html
[INFO] running `Command { std: "docker" "inspect" "89a74eed91363e4b4b9ddb2a0d24f79c2014cb1c02078353472a41bc5cc51693", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89a74eed91363e4b4b9ddb2a0d24f79c2014cb1c02078353472a41bc5cc51693", kill_on_drop: false }`
[INFO] [stdout] 89a74eed91363e4b4b9ddb2a0d24f79c2014cb1c02078353472a41bc5cc51693
