[INFO] cloning repository https://github.com/julioolvr/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/julioolvr/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulioolvr%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulioolvr%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b8908c5eca599cb2ab16dde00d47507c5b004de0 [INFO] testing julioolvr/rlox against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulioolvr%2Frlox" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain [INFO] started tweaking git repo https://github.com/julioolvr/rlox [INFO] finished tweaking git repo https://github.com/julioolvr/rlox [INFO] tweaked toml for git repo https://github.com/julioolvr/rlox written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/julioolvr/rlox on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/julioolvr/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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 205e17888f1e27d3116683ecbf0810fa75ee1f5af6bbc4c1d0b169908796f72a [INFO] running `Command { std: "docker" "start" "-a" "205e17888f1e27d3116683ecbf0810fa75ee1f5af6bbc4c1d0b169908796f72a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "205e17888f1e27d3116683ecbf0810fa75ee1f5af6bbc4c1d0b169908796f72a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "205e17888f1e27d3116683ecbf0810fa75ee1f5af6bbc4c1d0b169908796f72a", kill_on_drop: false }` [INFO] [stdout] 205e17888f1e27d3116683ecbf0810fa75ee1f5af6bbc4c1d0b169908796f72a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5baf8220942662afd4937b082e4b22a4719fc7752ee91ce5dc2ea060cb715088 [INFO] running `Command { std: "docker" "start" "-a" "5baf8220942662afd4937b082e4b22a4719fc7752ee91ce5dc2ea060cb715088", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling lazy_static v0.2.9 [INFO] [stderr] Compiling cfg-if v0.1.2 [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | '0'...'9' => self.scan_numeric_literal(), [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LoxClassInternal` [INFO] [stdout] --> src/rlox/lox_value/mod.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | pub use self::lox_class::{LoxClass, LoxClassInternal}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) 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/rlox/callables/mod.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Interpreter` [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 issue #41686 [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/rlox/callables/mod.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 issue #41686 [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [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/rlox/lox_value/mod.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | Func(Rc), [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 [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] 21 | Func(Rc), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_class.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/mod.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &dyn Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_func.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:25:62 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut dyn io::Write) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:113:50 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/native/clock/mod.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut dyn io::Write) -> Result<(), Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/mod.rs:182:45 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:62:67 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut dyn io::Write)); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rlox/api.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/rlox/api.rs:113:66 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator<'a, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.45s [INFO] running `Command { std: "docker" "inspect" "5baf8220942662afd4937b082e4b22a4719fc7752ee91ce5dc2ea060cb715088", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5baf8220942662afd4937b082e4b22a4719fc7752ee91ce5dc2ea060cb715088", kill_on_drop: false }` [INFO] [stdout] 5baf8220942662afd4937b082e4b22a4719fc7752ee91ce5dc2ea060cb715088 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cabcfcc36932051e4f30974840b02694c4668fd8be5d6b43a06c909fc3a7b2f3 [INFO] running `Command { std: "docker" "start" "-a" "cabcfcc36932051e4f30974840b02694c4668fd8be5d6b43a06c909fc3a7b2f3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | '0'...'9' => self.scan_numeric_literal(), [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LoxClassInternal` [INFO] [stdout] --> src/rlox/lox_value/mod.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | pub use self::lox_class::{LoxClass, LoxClassInternal}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) 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/rlox/callables/mod.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Interpreter` [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 issue #41686 [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/rlox/callables/mod.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 issue #41686 [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [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/rlox/lox_value/mod.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | Func(Rc), [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 [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] 21 | Func(Rc), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_class.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/mod.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &dyn Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_func.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:25:62 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut dyn io::Write) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:113:50 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/native/clock/mod.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut dyn io::Write) -> Result<(), Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/mod.rs:182:45 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:62:67 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut dyn io::Write)); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rlox/api.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/rlox/api.rs:113:66 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator<'a, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | '0'...'9' => self.scan_numeric_literal(), [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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:16 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/rlox/scanner/char_scanner.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LoxClassInternal` [INFO] [stdout] --> src/rlox/lox_value/mod.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | pub use self::lox_class::{LoxClass, LoxClassInternal}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) 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/rlox/callables/mod.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Interpreter` [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 issue #41686 [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/rlox/callables/mod.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 issue #41686 [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [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/rlox/token.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / lazy_static! { [INFO] [stdout] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stdout] 111 | | let mut m = HashMap::new(); [INFO] [stdout] 112 | | m.insert("and", TokenType::And); [INFO] [stdout] ... | [INFO] [stdout] 129 | | }; [INFO] [stdout] 130 | | } [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/rlox/lox_value/mod.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | Func(Rc), [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 [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] 21 | Func(Rc), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | writer: Rc>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_class.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/mod.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | fn as_any(&self) -> &dyn Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/lox_func.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:25:62 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | pub fn run_repl(reader: &mut R, writer: &mut dyn io::Write) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/interpreter/mod.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:113:50 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/callables/native/clock/mod.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &Any { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 | fn as_any(&self) -> &dyn Any { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_file(path: &str, writer: &mut dyn io::Write) -> Result<(), Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/lox_value/mod.rs:182:45 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | pub fn get_callable(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rlox/api.rs:62:67 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut dyn io::Write)); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rlox/api.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/rlox/api.rs:113:66 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator<'a, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.68s [INFO] running `Command { std: "docker" "inspect" "cabcfcc36932051e4f30974840b02694c4668fd8be5d6b43a06c909fc3a7b2f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cabcfcc36932051e4f30974840b02694c4668fd8be5d6b43a06c909fc3a7b2f3", kill_on_drop: false }` [INFO] [stdout] cabcfcc36932051e4f30974840b02694c4668fd8be5d6b43a06c909fc3a7b2f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 274a1e09aaa528e70f59016c63770a27da6037aef1c50c5ad8f05132d73e24d9 [INFO] running `Command { std: "docker" "start" "-a" "274a1e09aaa528e70f59016c63770a27da6037aef1c50c5ad8f05132d73e24d9", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:108:16 [INFO] [stderr] | [INFO] [stderr] 108 | '0'...'9' => self.scan_numeric_literal(), [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 [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stderr] [INFO] [stderr] warning: unused import: `LoxClassInternal` [INFO] [stderr] --> src/rlox/lox_value/mod.rs:11:37 [INFO] [stderr] | [INFO] [stderr] 11 | pub use self::lox_class::{LoxClass, LoxClassInternal}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/rlox/callables/mod.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Interpreter` [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 issue #41686 [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/rlox/callables/mod.rs:11:38 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&self, &mut Interpreter, Vec) -> Result; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 issue #41686 [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stderr] --> src/rlox/token.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | / lazy_static! { [INFO] [stderr] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stderr] 111 | | let mut m = HashMap::new(); [INFO] [stderr] 112 | | m.insert("and", TokenType::And); [INFO] [stderr] ... | [INFO] [stderr] 129 | | }; [INFO] [stderr] 130 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [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/rlox/token.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | / lazy_static! { [INFO] [stderr] 110 | | pub static ref KEYWORDS: HashMap<&'static str, TokenType> = { [INFO] [stderr] 111 | | let mut m = HashMap::new(); [INFO] [stderr] 112 | | m.insert("and", TokenType::And); [INFO] [stderr] ... | [INFO] [stderr] 129 | | }; [INFO] [stderr] 130 | | } [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/rlox/lox_value/mod.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | Func(Rc), [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 [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] 21 | Func(Rc), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/interpreter/mod.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | writer: Rc>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 17 | writer: Rc>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/api.rs:109:32 [INFO] [stderr] | [INFO] [stderr] 109 | writer: Rc>, [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 109 | writer: Rc>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/lox_value/lox_class.rs:75:26 [INFO] [stderr] | [INFO] [stderr] 75 | fn as_any(&self) -> &Any { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 75 | fn as_any(&self) -> &dyn Any { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/callables/mod.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 12 | fn as_any(&self) -> &dyn Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/lox_value/lox_func.rs:45:26 [INFO] [stderr] | [INFO] [stderr] 45 | fn as_any(&self) -> &Any { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 45 | fn as_any(&self) -> &dyn Any { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/api.rs:25:62 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn run_repl(reader: &mut R, writer: &mut io::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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 25 | pub fn run_repl(reader: &mut R, writer: &mut dyn io::Write) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/interpreter/mod.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new(writer: Rc>) -> Interpreter<'a> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/api.rs:113:50 [INFO] [stderr] | [INFO] [stderr] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/callables/native/clock/mod.rs:28:26 [INFO] [stderr] | [INFO] [stderr] 28 | fn as_any(&self) -> &Any { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 | fn as_any(&self) -> &dyn Any { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/api.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 | pub fn run_file(path: &str, writer: &mut dyn io::Write) -> Result<(), Vec> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/lox_value/mod.rs:182:45 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn get_callable(&self) -> Option> { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 182 | pub fn get_callable(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/rlox/api.rs:62:67 [INFO] [stderr] | [INFO] [stderr] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut dyn io::Write)); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/rlox/api.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/rlox/api.rs:113:66 [INFO] [stderr] | [INFO] [stderr] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator { [INFO] [stderr] | -- ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: consistently use `'a` [INFO] [stderr] | [INFO] [stderr] 113 | fn new(reader: R, writer: Rc>) -> ReplIterator<'a, R> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `rlox` (lib) generated 23 warnings (run `cargo fix --lib -p rlox` to apply 21 suggestions) [INFO] [stderr] warning: `rlox` (lib test) generated 23 warnings (23 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rlox-4df483b0e5409c25) [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test rlox::scanner::tests::has_only_eof_token_for_empty_source ... ok [INFO] [stdout] test rlox::scanner::tests::line_numbers ... ok [INFO] [stdout] test rlox::scanner::tests::error_on_unknown_character ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::bang ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::bang_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::comma ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::comments ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::dot ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::equal_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::greater ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::greater_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::left_brace ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::left_paren ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::less_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::less ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::identifier ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::and ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::class ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::else_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::false_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::for_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::fun ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::if_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::nil ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::or ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::print ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::return_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::super_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::this ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::true_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::var ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::while_token ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rlox-bd48ec3a36f5327c) [INFO] [stdout] test rlox::scanner::tests::tokens::literals::number ... ok [INFO] [stderr] Running tests/classes.rs (/opt/rustwide/target/debug/deps/classes-f0f2209c7dd87820) [INFO] [stdout] test rlox::scanner::tests::tokens::literals::string ... ok [INFO] [stderr] Running tests/closures.rs (/opt/rustwide/target/debug/deps/closures-43acca62a51e86e1) [INFO] [stdout] test rlox::scanner::tests::tokens::minus ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::plus ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::right_brace ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::right_paren ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::semicolon ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::slash ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::star ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::white_space ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [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 19 tests [INFO] [stdout] test call_method_on_instance ... ok [INFO] [stdout] test callback_with_bound_this ... ok [INFO] [stdout] test calling_init_returns_the_same_instance ... ok [INFO] [stdout] test class_declaration_doesnt_fail ... ok [INFO] [stdout] test class_declaration_missing_closing_brace ... ok [INFO] [stdout] test class_declaration_missing_open_brace ... ok [INFO] [stdout] test compare_instances_by_identity ... ok [INFO] [stdout] test compared_by_identity ... ok [INFO] [stdout] test detached_this ... ok [INFO] [stdout] test initializer_with_parameters ... ok [INFO] [stdout] test printing_class_instance_shows_class_name ... ok [INFO] [stdout] test printing_class_shows_class_name ... ok [INFO] [stdout] test reach_this_from_instance_method ... ok [INFO] [stdout] test read_property_from_instance_is_a_runtime_error ... ok [INFO] [stdout] test instance_initializer ... ok [INFO] [stdout] test set_property_in_instance ... ok [INFO] [stdout] test using_this_in_non_method_fails - should panic ... ok [INFO] [stdout] test return_from_init_throws_an_error - should panic ... ok [INFO] [stdout] test using_this_in_root_fails - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test simple_closure ... ok [INFO] [stderr] Running tests/functions.rs (/opt/rustwide/target/debug/deps/functions-1ea945c0f8f37415) [INFO] [stdout] [INFO] [stdout] test result: ok. 1 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 compared_by_identity ... ok [INFO] [stdout] test function_parameters ... ok [INFO] [stderr] Running tests/inheritance.rs (/opt/rustwide/target/debug/deps/inheritance-507afdf9c40cb2ac) [INFO] [stdout] test return_on_top_level - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test can_call_superclass_method ... ok [INFO] [stdout] test using_super ... ok [INFO] [stdout] test referencing_super_without_access_fails ... ok [INFO] [stdout] test overriding_methods ... ok [INFO] [stdout] test expects_superclass_name_after_less_token ... ok [INFO] [stdout] test using_super_outside_of_method_fails - should panic ... ok [INFO] [stdout] test using_super_without_superclass_fails - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/scope.rs (/opt/rustwide/target/debug/deps/scope-cb318dcb28727ca7) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test closure_environment_mutation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests rlox [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:108:16 [INFO] [stderr] | [INFO] [stderr] 108 | '0'...'9' => self.scan_numeric_literal(), [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 [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/rlox/scanner/char_scanner.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | 'a'...'z' | 'A'...'Z' | '_' => self.scan_identifier(), [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 [INFO] [stderr] [INFO] [stderr] warning: 3 warnings emitted [INFO] [stderr] [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] running `Command { std: "docker" "inspect" "274a1e09aaa528e70f59016c63770a27da6037aef1c50c5ad8f05132d73e24d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "274a1e09aaa528e70f59016c63770a27da6037aef1c50c5ad8f05132d73e24d9", kill_on_drop: false }` [INFO] [stdout] 274a1e09aaa528e70f59016c63770a27da6037aef1c50c5ad8f05132d73e24d9