[INFO] cloning repository https://github.com/sakateka/plt [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sakateka/plt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsakateka%2Fplt", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsakateka%2Fplt'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 34943a253a93f63d06174390000821837cfc0734 [INFO] testing sakateka/plt against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsakateka%2Fplt" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sakateka/plt on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/sakateka/plt [INFO] finished tweaking git repo https://github.com/sakateka/plt [INFO] tweaked toml for git repo https://github.com/sakateka/plt written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/sakateka/plt already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f9e0500d73d33518cbd8468462479d43c9adbedaa91426daa74016fdb1a0d3a9 [INFO] running `Command { std: "docker" "start" "-a" "f9e0500d73d33518cbd8468462479d43c9adbedaa91426daa74016fdb1a0d3a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9e0500d73d33518cbd8468462479d43c9adbedaa91426daa74016fdb1a0d3a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9e0500d73d33518cbd8468462479d43c9adbedaa91426daa74016fdb1a0d3a9", kill_on_drop: false }` [INFO] [stdout] f9e0500d73d33518cbd8468462479d43c9adbedaa91426daa74016fdb1a0d3a9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 68139446ebad81f57b566fd44757bd0945abb3e1e79d0f7f605b622652d78520 [INFO] running `Command { std: "docker" "start" "-a" "68139446ebad81f57b566fd44757bd0945abb3e1e79d0f7f605b622652d78520", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.36 [INFO] [stderr] Compiling num-traits v0.2.2 [INFO] [stderr] Compiling linked-hash-map v0.5.1 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling ansi_term v0.10.2 [INFO] [stderr] Compiling either v1.4.0 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling bitflags v1.0.1 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling serde v1.0.35 [INFO] [stderr] Compiling proc-macro2 v0.2.3 [INFO] [stderr] Compiling itertools v0.7.7 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling yaml-rust v0.4.0 [INFO] [stderr] Compiling quote v0.4.2 [INFO] [stderr] Compiling atty v0.2.6 [INFO] [stderr] Compiling clap v2.29.1 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling syn v0.12.14 [INFO] [stderr] Compiling serde_derive_internals v0.22.1 [INFO] [stderr] Compiling serde_derive v1.0.35 [INFO] [stderr] Compiling serde_yaml v0.7.3 [INFO] [stderr] Compiling plt v5.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:34:50 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_output_stream(x: Option<&str>) -> Box { [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] 34 - pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stdout] 34 + pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn get_input_stream(x: Option<&str>) -> Box { [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] 44 - pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stdout] 44 + pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dfa.rs:313:36 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [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] 313 - pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stdout] 313 + pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/pda.rs:336:70 [INFO] [stdout] | [INFO] [stdout] 336 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/pdt.rs:344:70 [INFO] [stdout] | [INFO] [stdout] 344 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:38:59 [INFO] [stdout] | [INFO] [stdout] 38 | Box::new(File::create(&path).unwrap()) as Box [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] 38 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] 38 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | None => Box::new(io::stdout()) as Box, [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] 40 - None => Box::new(io::stdout()) as Box, [INFO] [stdout] 40 + None => Box::new(io::stdout()) as Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:48:59 [INFO] [stdout] | [INFO] [stdout] 48 | Box::new(File::create(&path).unwrap()) as Box [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] 48 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] 48 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:50:46 [INFO] [stdout] | [INFO] [stdout] 50 | None => Box::new(io::stdin()) as Box, [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] 50 - None => Box::new(io::stdin()) as Box, [INFO] [stdout] 50 + None => Box::new(io::stdin()) as Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sdt` [INFO] [stdout] --> src/cfg.rs:246:41 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn parse_production(line: &str, sdt: bool) -> io::Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sdt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/cfg.rs:695:13 [INFO] [stdout] | [INFO] [stdout] 695 | let cfg = cfg.eliminate_left_recursion(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rules` [INFO] [stdout] --> src/sdt.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let rules: SDTRules = match serde_yaml::from_reader(r) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rules` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | let mut text = line?; [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: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut prod = Production::new(left.clone(), symbols); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | let mut set = unit_sets.get_mut(nonterm).unwrap(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let mut dpda_design = DPDADesign::load(dpda_spec).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | let mut dpdt_design = DPDTDesign::load(dpdt_spec).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_sdt` [INFO] [stdout] --> src/cfg.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn load_sdt(input_path: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_sdt_from_reader` [INFO] [stdout] --> src/cfg.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn load_sdt_from_reader(r: R) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `greibach` [INFO] [stdout] --> src/cfg.rs:693:12 [INFO] [stdout] | [INFO] [stdout] 693 | pub fn greibach(&self) -> CFG { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `eliminate_left_recursion` [INFO] [stdout] --> src/cfg.rs:699:12 [INFO] [stdout] | [INFO] [stdout] 699 | pub fn eliminate_left_recursion(&self) -> CFG { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `left` [INFO] [stdout] --> src/sdt.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | left: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `right` [INFO] [stdout] --> src/sdt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | right: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `translated` [INFO] [stdout] --> src/sdt.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | translated: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rules` [INFO] [stdout] --> src/sdt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | rules: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRules` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rules` [INFO] [stdout] --> src/sdt.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | rules: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDT` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load` [INFO] [stdout] --> src/sdt.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn load(input_path: &str) -> io::Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_from_reader` [INFO] [stdout] --> src/sdt.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn load_from_reader(r: R) -> io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/dfa.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.33s [INFO] running `Command { std: "docker" "inspect" "68139446ebad81f57b566fd44757bd0945abb3e1e79d0f7f605b622652d78520", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68139446ebad81f57b566fd44757bd0945abb3e1e79d0f7f605b622652d78520", kill_on_drop: false }` [INFO] [stdout] 68139446ebad81f57b566fd44757bd0945abb3e1e79d0f7f605b622652d78520 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1cefb68fd637e3d852efc145889dba056a8c39ef4b773e554062bc23f5e516c2 [INFO] running `Command { std: "docker" "start" "-a" "1cefb68fd637e3d852efc145889dba056a8c39ef4b773e554062bc23f5e516c2", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling plt v5.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:34:50 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn get_output_stream(x: Option<&str>) -> Box { [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] 34 - pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stdout] 34 + pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn get_input_stream(x: Option<&str>) -> Box { [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] 44 - pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stdout] 44 + pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dfa.rs:313:36 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [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] 313 - pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stdout] 313 + pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/pda.rs:336:70 [INFO] [stdout] | [INFO] [stdout] 336 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/pdt.rs:344:70 [INFO] [stdout] | [INFO] [stdout] 344 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:38:59 [INFO] [stdout] | [INFO] [stdout] 38 | Box::new(File::create(&path).unwrap()) as Box [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] 38 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] 38 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | None => Box::new(io::stdout()) as Box, [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] 40 - None => Box::new(io::stdout()) as Box, [INFO] [stdout] 40 + None => Box::new(io::stdout()) as Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:48:59 [INFO] [stdout] | [INFO] [stdout] 48 | Box::new(File::create(&path).unwrap()) as Box [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] 48 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] 48 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:50:46 [INFO] [stdout] | [INFO] [stdout] 50 | None => Box::new(io::stdin()) as Box, [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] 50 - None => Box::new(io::stdin()) as Box, [INFO] [stdout] 50 + None => Box::new(io::stdin()) as Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sdt` [INFO] [stdout] --> src/cfg.rs:246:41 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn parse_production(line: &str, sdt: bool) -> io::Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sdt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/cfg.rs:695:13 [INFO] [stdout] | [INFO] [stdout] 695 | let cfg = cfg.eliminate_left_recursion(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rules` [INFO] [stdout] --> src/sdt.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let rules: SDTRules = match serde_yaml::from_reader(r) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rules` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:227:17 [INFO] [stdout] | [INFO] [stdout] 227 | let mut text = line?; [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: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut prod = Production::new(left.clone(), symbols); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cfg.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | let mut set = unit_sets.get_mut(nonterm).unwrap(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let mut dpda_design = DPDADesign::load(dpda_spec).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | let mut dpdt_design = DPDTDesign::load(dpdt_spec).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_sdt` [INFO] [stdout] --> src/cfg.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn load_sdt(input_path: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_sdt_from_reader` [INFO] [stdout] --> src/cfg.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn load_sdt_from_reader(r: R) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `greibach` [INFO] [stdout] --> src/cfg.rs:693:12 [INFO] [stdout] | [INFO] [stdout] 693 | pub fn greibach(&self) -> CFG { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `eliminate_left_recursion` [INFO] [stdout] --> src/cfg.rs:699:12 [INFO] [stdout] | [INFO] [stdout] 699 | pub fn eliminate_left_recursion(&self) -> CFG { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `left` [INFO] [stdout] --> src/sdt.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | left: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `right` [INFO] [stdout] --> src/sdt.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | right: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `translated` [INFO] [stdout] --> src/sdt.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | translated: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rules` [INFO] [stdout] --> src/sdt.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | rules: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDTRules` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(Debug, Deserialize)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rules` [INFO] [stdout] --> src/sdt.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | rules: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `SDT` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/sdt.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load` [INFO] [stdout] --> src/sdt.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn load(input_path: &str) -> io::Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_from_reader` [INFO] [stdout] --> src/sdt.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn load_from_reader(r: R) -> io::Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/dfa.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 173 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.54s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/plt-ded2f7bf5308cc20) [INFO] running `Command { std: "docker" "inspect" "1cefb68fd637e3d852efc145889dba056a8c39ef4b773e554062bc23f5e516c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1cefb68fd637e3d852efc145889dba056a8c39ef4b773e554062bc23f5e516c2", kill_on_drop: false }` [INFO] [stdout] 1cefb68fd637e3d852efc145889dba056a8c39ef4b773e554062bc23f5e516c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f196930192a68c472284a9a4318b1f31fa970f8dcbf7c2a4276374947265eae7 [INFO] running `Command { std: "docker" "start" "-a" "f196930192a68c472284a9a4318b1f31fa970f8dcbf7c2a4276374947265eae7", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:34:50 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn get_output_stream(x: Option<&str>) -> Box { [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] 34 - pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stderr] 34 + pub fn get_output_stream(x: Option<&str>) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:44:49 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn get_input_stream(x: Option<&str>) -> Box { [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] 44 - pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stderr] 44 + pub fn get_input_stream(x: Option<&str>) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dfa.rs:313:36 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [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] 313 - pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stderr] 313 + pub fn check(&self, input: Box, show_path: bool) -> io::Result<()> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/pda.rs:336:70 [INFO] [stderr] | [INFO] [stderr] 336 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/pdt.rs:344:70 [INFO] [stderr] | [INFO] [stderr] 344 | Err(err) => Err(io::Error::new(io::ErrorKind::Other, err.description())), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:38:59 [INFO] [stderr] | [INFO] [stderr] 38 | Box::new(File::create(&path).unwrap()) as Box [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] 38 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stderr] 38 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:40:47 [INFO] [stderr] | [INFO] [stderr] 40 | None => Box::new(io::stdout()) as Box, [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] 40 - None => Box::new(io::stdout()) as Box, [INFO] [stderr] 40 + None => Box::new(io::stdout()) as Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:48:59 [INFO] [stderr] | [INFO] [stderr] 48 | Box::new(File::create(&path).unwrap()) as Box [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] 48 - Box::new(File::create(&path).unwrap()) as Box [INFO] [stderr] 48 + Box::new(File::create(&path).unwrap()) as Box [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:50:46 [INFO] [stderr] | [INFO] [stderr] 50 | None => Box::new(io::stdin()) as Box, [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] 50 - None => Box::new(io::stdin()) as Box, [INFO] [stderr] 50 + None => Box::new(io::stdin()) as Box, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sdt` [INFO] [stderr] --> src/cfg.rs:246:41 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn parse_production(line: &str, sdt: bool) -> io::Result> { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_sdt` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cfg` [INFO] [stderr] --> src/cfg.rs:695:13 [INFO] [stderr] | [INFO] [stderr] 695 | let cfg = cfg.eliminate_left_recursion(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rules` [INFO] [stderr] --> src/sdt.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let rules: SDTRules = match serde_yaml::from_reader(r) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rules` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cfg.rs:227:17 [INFO] [stderr] | [INFO] [stderr] 227 | let mut text = line?; [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: variable does not need to be mutable [INFO] [stderr] --> src/cfg.rs:269:17 [INFO] [stderr] | [INFO] [stderr] 269 | let mut prod = Production::new(left.clone(), symbols); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cfg.rs:450:17 [INFO] [stderr] | [INFO] [stderr] 450 | let mut set = unit_sets.get_mut(nonterm).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | let mut dpda_design = DPDADesign::load(dpda_spec).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:255:13 [INFO] [stderr] | [INFO] [stderr] 255 | let mut dpdt_design = DPDTDesign::load(dpdt_spec).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `load_sdt` [INFO] [stderr] --> src/cfg.rs:210:12 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn load_sdt(input_path: &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `load_sdt_from_reader` [INFO] [stderr] --> src/cfg.rs:219:12 [INFO] [stderr] | [INFO] [stderr] 219 | pub fn load_sdt_from_reader(r: R) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `greibach` [INFO] [stderr] --> src/cfg.rs:693:12 [INFO] [stderr] | [INFO] [stderr] 693 | pub fn greibach(&self) -> CFG { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `eliminate_left_recursion` [INFO] [stderr] --> src/cfg.rs:699:12 [INFO] [stderr] | [INFO] [stderr] 699 | pub fn eliminate_left_recursion(&self) -> CFG { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `left` [INFO] [stderr] --> src/sdt.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | left: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/sdt.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Deserialize)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `right` [INFO] [stderr] --> src/sdt.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | right: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/sdt.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Deserialize)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `translated` [INFO] [stderr] --> src/sdt.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | translated: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `SDTRule` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/sdt.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Deserialize)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `rules` [INFO] [stderr] --> src/sdt.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | rules: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `SDTRules` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/sdt.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | #[derive(Debug, Deserialize)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `rules` [INFO] [stderr] --> src/sdt.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | rules: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `SDT` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/sdt.rs:19:10 [INFO] [stderr] | [INFO] [stderr] 19 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `load` [INFO] [stderr] --> src/sdt.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn load(input_path: &str) -> io::Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `load_from_reader` [INFO] [stderr] --> src/sdt.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn load_from_reader(r: R) -> io::Result [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/dfa.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 173 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 173 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: `plt` (bin "plt" test) generated 29 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/plt-ded2f7bf5308cc20) [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test cfg::tests::chomsky ... ok [INFO] [stdout] test cfg::tests::load_cfg ... ok [INFO] [stdout] test cfg::tests::remove_useless ... ok [INFO] [stdout] test cfg::tests::load_mailformed_cfg ... ok [INFO] [stdout] test cfg::tests::remove_epsilon ... ok [INFO] [stdout] test pda::tests::applies_to ... ok [INFO] [stdout] test cfg::tests::remove_unreachable ... ok [INFO] [stdout] test pda::tests::dpda ... ok [INFO] [stdout] test pda::tests::follow_free_moves ... ok [INFO] [stdout] test pda::tests::next_stack ... ok [INFO] [stdout] test pda::tests::design ... ok [INFO] [stdout] test cfg::tests::remove_units ... ok [INFO] [stdout] test cfg::tests::simplify ... ok [INFO] [stdout] test pda::tests::load_design ... ok [INFO] [stdout] test pda::tests::rulebook ... ok [INFO] [stdout] test pda::tests::rule_follow ... ok [INFO] [stdout] test pdt::tests::applies_to ... ok [INFO] [stdout] test pdt::tests::next_stack ... ok [INFO] [stdout] test pdt::tests::rulebook ... ok [INFO] [stdout] test pdt::tests::load_design ... ok [INFO] [stdout] test pdt::tests::rule_follow ... ok [INFO] [stdout] test pdt::tests::dpdt ... ok [INFO] [stdout] test pdt::tests::follow_free_moves ... ok [INFO] [stdout] test pdt::tests::design ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f196930192a68c472284a9a4318b1f31fa970f8dcbf7c2a4276374947265eae7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f196930192a68c472284a9a4318b1f31fa970f8dcbf7c2a4276374947265eae7", kill_on_drop: false }` [INFO] [stdout] f196930192a68c472284a9a4318b1f31fa970f8dcbf7c2a4276374947265eae7