[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 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulioolvr%2Frlox" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/julioolvr/rlox on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4/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-4/source/Cargo.toml [INFO] crate git repo https://github.com/julioolvr/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1df054dde65bd66d6f9424a79b93c5abdd8a0a30b25947c7884e3db06866e4f2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "1df054dde65bd66d6f9424a79b93c5abdd8a0a30b25947c7884e3db06866e4f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1df054dde65bd66d6f9424a79b93c5abdd8a0a30b25947c7884e3db06866e4f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1df054dde65bd66d6f9424a79b93c5abdd8a0a30b25947c7884e3db06866e4f2", kill_on_drop: false }` [INFO] [stdout] 1df054dde65bd66d6f9424a79b93c5abdd8a0a30b25947c7884e3db06866e4f2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d18640cb55d523185e261cdde87caec7f60f921784ef5b77d3feec8b36ed1e0d [INFO] running `Command { std: "docker" "start" "-a" "d18640cb55d523185e261cdde87caec7f60f921784ef5b77d3feec8b36ed1e0d", kill_on_drop: false }` [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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: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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: 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 `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` (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 `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` (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/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - writer: Rc>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - writer: Rc>, [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - Func(Rc), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 - pub fn get_callable(&self) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(writer: Rc>) -> Interpreter<'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - pub fn run_repl(reader: &mut R, writer: &mut io::Write) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn new(reader: R, writer: Rc>) -> ReplIterator { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn as_any(&self) -> &Any { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.40s [INFO] running `Command { std: "docker" "inspect" "d18640cb55d523185e261cdde87caec7f60f921784ef5b77d3feec8b36ed1e0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d18640cb55d523185e261cdde87caec7f60f921784ef5b77d3feec8b36ed1e0d", kill_on_drop: false }` [INFO] [stdout] d18640cb55d523185e261cdde87caec7f60f921784ef5b77d3feec8b36ed1e0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 06309f486093f69a8b6efb7b13dca96fbac90adf50416dbcdb0a59b8a2aaae32 [INFO] running `Command { std: "docker" "start" "-a" "06309f486093f69a8b6efb7b13dca96fbac90adf50416dbcdb0a59b8a2aaae32", kill_on_drop: false }` [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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: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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: 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 `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` (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 `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` (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/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - writer: Rc>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - writer: Rc>, [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - Func(Rc), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 - pub fn get_callable(&self) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(writer: Rc>) -> Interpreter<'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - pub fn run_repl(reader: &mut R, writer: &mut io::Write) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn new(reader: R, writer: Rc>) -> ReplIterator { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn as_any(&self) -> &Any { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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: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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: 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 `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` (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 `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` (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/interpreter/mod.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | writer: Rc>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - writer: Rc>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 - writer: Rc>, [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/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] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - Func(Rc), [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 - pub fn get_callable(&self) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(writer: Rc>) -> Interpreter<'a> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 - fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - pub fn run_repl(reader: &mut R, writer: &mut io::Write) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn new(reader: R, writer: Rc>) -> ReplIterator { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 28 - fn as_any(&self) -> &Any { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 7.57s [INFO] running `Command { std: "docker" "inspect" "06309f486093f69a8b6efb7b13dca96fbac90adf50416dbcdb0a59b8a2aaae32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06309f486093f69a8b6efb7b13dca96fbac90adf50416dbcdb0a59b8a2aaae32", kill_on_drop: false }` [INFO] [stdout] 06309f486093f69a8b6efb7b13dca96fbac90adf50416dbcdb0a59b8a2aaae32 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 362a328856d00d836e6306168a32e38391fc2cff02874c37023d18cfd7257c93 [INFO] running `Command { std: "docker" "start" "-a" "362a328856d00d836e6306168a32e38391fc2cff02874c37023d18cfd7257c93", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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: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: 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] = note: `#[warn(anonymous_parameters)]` on by default [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: 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 `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` (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 `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` (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/interpreter/mod.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | writer: Rc>, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 17 - writer: Rc>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 109 - writer: Rc>, [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/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] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 - Func(Rc), [INFO] [stderr] 21 + Func(Rc), [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 182 - pub fn get_callable(&self) -> Option> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 21 - pub fn new(writer: Rc>) -> Interpreter<'a> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 12 - fn as_any(&self) -> &Any; // TODO: Read https://stackoverflow.com/a/33687996/275442 [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 14 - pub fn run_file(path: &str, writer: &mut io::Write) -> Result<(), Vec> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 25 - pub fn run_repl(reader: &mut R, writer: &mut io::Write) { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 - fn new(reader: R, writer: Rc>) -> ReplIterator { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 75 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 45 - fn as_any(&self) -> &Any { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 28 - fn as_any(&self) -> &Any { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 62 - let mut writer = Rc::new(RefCell::new(&mut cursor as &mut io::Write)); [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)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rlox` (lib) generated 21 warnings [INFO] [stderr] warning: `rlox` (lib test) generated 21 warnings (21 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.15s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rlox-7684a634242a31b4) [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::tokens::greater_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::equal_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::comments ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::comma ... ok [INFO] [stdout] test rlox::scanner::tests::error_on_unknown_character ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::bang_equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::class ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::left_brace ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::identifier ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::else_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::nil ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::false_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::or ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::for_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::print ... 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::var ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::return_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::true_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::number ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::bang ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::while_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::semicolon ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::minus ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::slash ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::plus ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::string ... 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::star ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::white_space ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::left_paren ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::greater ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::fun ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::dot ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::less ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::if_token ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::literals::keywords::and ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::equal ... ok [INFO] [stdout] test rlox::scanner::tests::tokens::less_equal ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rlox-fbb9e7f48d69c10d) [INFO] [stdout] [INFO] [stderr] Running tests/classes.rs (/opt/rustwide/target/debug/deps/classes-cd2e6f768f20063c) [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 compared_by_identity ... ok [INFO] [stdout] test printing_class_instance_shows_class_name ... ok [INFO] [stdout] test class_declaration_doesnt_fail ... ok [INFO] [stdout] test compare_instances_by_identity ... ok [INFO] [stdout] test set_property_in_instance ... ok [INFO] [stdout] test calling_init_returns_the_same_instance ... ok [INFO] [stdout] test printing_class_shows_class_name ... ok [INFO] [stdout] test detached_this ... ok [INFO] [stdout] test callback_with_bound_this ... ok [INFO] [stdout] test initializer_with_parameters ... ok [INFO] [stdout] test instance_initializer ... ok [INFO] [stdout] test class_declaration_missing_closing_brace ... 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 call_method_on_instance ... ok [INFO] [stdout] test class_declaration_missing_open_brace ... ok [INFO] [stdout] test using_this_in_non_method_fails - should panic ... ok [INFO] [stdout] test using_this_in_root_fails - should panic ... ok [INFO] [stdout] test return_from_init_throws_an_error - should panic ... ok [INFO] [stderr] Running tests/closures.rs (/opt/rustwide/target/debug/deps/closures-8cb232105af1d2d6) [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/functions.rs (/opt/rustwide/target/debug/deps/functions-fac4c1998f20e966) [INFO] [stdout] test simple_closure ... 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] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test function_parameters ... ok [INFO] [stdout] test compared_by_identity ... ok [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.02s [INFO] [stdout] [INFO] [stderr] Running tests/inheritance.rs (/opt/rustwide/target/debug/deps/inheritance-50a827873fb25b8b) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test expects_superclass_name_after_less_token ... ok [INFO] [stdout] test overriding_methods ... ok [INFO] [stdout] test using_super ... ok [INFO] [stdout] test referencing_super_without_access_fails ... ok [INFO] [stdout] test can_call_superclass_method ... ok [INFO] [stdout] test using_super_outside_of_method_fails - should panic ... ok [INFO] [stderr] Running tests/scope.rs (/opt/rustwide/target/debug/deps/scope-b2e958df7099f82b) [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.02s [INFO] [stdout] [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] --> /opt/rustwide/workdir/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] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [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] --> /opt/rustwide/workdir/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] --> /opt/rustwide/workdir/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" "362a328856d00d836e6306168a32e38391fc2cff02874c37023d18cfd7257c93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "362a328856d00d836e6306168a32e38391fc2cff02874c37023d18cfd7257c93", kill_on_drop: false }` [INFO] [stdout] 362a328856d00d836e6306168a32e38391fc2cff02874c37023d18cfd7257c93