[INFO] cloning repository https://github.com/xlnx/myrpg [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xlnx/myrpg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0979b38aa1e8ef9d77be4359e5347fecd4baf085 [INFO] testing xlnx/myrpg against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/xlnx/myrpg [INFO] finished tweaking git repo https://github.com/xlnx/myrpg [INFO] tweaked toml for git repo https://github.com/xlnx/myrpg written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/xlnx/myrpg on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/xlnx/myrpg already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ref_thread_local v0.0.0 [INFO] [stderr] Downloaded serde_json v1.0.39 [INFO] [stderr] Downloaded typed-arena v1.4.1 [INFO] [stderr] Downloaded rgb v0.8.13 [INFO] [stderr] Downloaded serde-hjson v0.8.2 [INFO] [stderr] Downloaded winconsole v0.10.0 [INFO] [stderr] Downloaded cgmath v0.16.1 [INFO] [stderr] Downloaded serde_derive v1.0.91 [INFO] [stderr] Downloaded colored v1.8.0 [INFO] [stderr] Downloaded syn v0.15.33 [INFO] [stderr] Downloaded ptree v0.2.1 [INFO] [stderr] Downloaded config v0.9.2 [INFO] [stderr] Downloaded ordermap v0.3.5 [INFO] [stderr] Downloaded petgraph v0.4.13 [INFO] [stderr] Downloaded regex v1.1.6 [INFO] [stderr] Downloaded tint v1.0.1 [INFO] [stderr] Downloaded regex-syntax v0.6.6 [INFO] [stderr] Downloaded ryu v0.2.8 [INFO] [stderr] Downloaded serde v1.0.91 [INFO] [stderr] Downloaded proc-macro2 v0.4.28 [INFO] [stderr] Downloaded pretty v0.5.2 [INFO] [stderr] Downloaded serde-value v0.5.3 [INFO] [stderr] Downloaded utf8-ranges v1.0.2 [INFO] [stderr] Downloaded isatty v0.1.9 [INFO] [stderr] Downloaded libc v0.2.54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 55f48ee5b86741a5ac42654304834c3fea2a84c1f182a84c8d1e20f24c47072e [INFO] running `Command { std: "docker" "start" "-a" "55f48ee5b86741a5ac42654304834c3fea2a84c1f182a84c8d1e20f24c47072e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "55f48ee5b86741a5ac42654304834c3fea2a84c1f182a84c8d1e20f24c47072e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55f48ee5b86741a5ac42654304834c3fea2a84c1f182a84c8d1e20f24c47072e", kill_on_drop: false }` [INFO] [stdout] 55f48ee5b86741a5ac42654304834c3fea2a84c1f182a84c8d1e20f24c47072e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 08f31d99d9e58a1e010e1e7e6b67a77a8d721ac679c75aca63e19f8e11b954fa [INFO] running `Command { std: "docker" "start" "-a" "08f31d99d9e58a1e010e1e7e6b67a77a8d721ac679c75aca63e19f8e11b954fa", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling libc v0.2.54 [INFO] [stderr] Compiling memchr v2.2.0 [INFO] [stderr] Compiling serde v1.0.91 [INFO] [stderr] Compiling regex v1.1.6 [INFO] [stderr] Compiling ryu v0.2.8 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling winapi v0.3.7 [INFO] [stderr] Compiling proc-macro2 v0.4.28 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling lazy_static v1.3.0 [INFO] [stderr] Compiling syn v0.15.33 [INFO] [stderr] Compiling ucd-util v0.1.3 [INFO] [stderr] Compiling serde v0.8.23 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.6.6 [INFO] [stderr] Compiling utf8-ranges v1.0.2 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling aho-corasick v0.7.3 [INFO] [stderr] Compiling approx v0.1.1 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Compiling itoa v0.4.4 [INFO] [stderr] Compiling linked-hash-map v0.5.2 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling yaml-rust v0.4.3 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling ordered-float v1.0.2 [INFO] [stderr] Compiling rgb v0.8.13 [INFO] [stderr] Compiling rust-ini v0.13.0 [INFO] [stderr] Compiling fixedbitset v0.1.9 [INFO] [stderr] Compiling cfg-if v0.1.7 [INFO] [stderr] Compiling ordermap v0.3.5 [INFO] [stderr] Compiling isatty v0.1.9 [INFO] [stderr] Compiling directories v1.0.2 [INFO] [stderr] Compiling tint v1.0.1 [INFO] [stderr] Compiling serde_test v0.8.23 [INFO] [stderr] Compiling linked-hash-map v0.3.0 [INFO] [stderr] Compiling petgraph v0.4.13 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling serde-hjson v0.8.2 [INFO] [stderr] Compiling typed-arena v1.4.1 [INFO] [stderr] Compiling pretty v0.5.2 [INFO] [stderr] Compiling ref_thread_local v0.0.0 [INFO] [stderr] Compiling toml v0.4.10 [INFO] [stderr] Compiling serde_json v1.0.39 [INFO] [stderr] Compiling serde-value v0.5.3 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling colored v1.8.0 [INFO] [stderr] Compiling serde_derive v1.0.91 [INFO] [stderr] Compiling config v0.9.2 [INFO] [stderr] Compiling ptree v0.2.1 [INFO] [stderr] Compiling lalr_util v0.1.0 (/opt/rustwide/workdir/src/lalr_util) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:16:26 [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut Write) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut dyn Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:16:26 [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut Write) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut dyn Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/lalr_util/src/ast.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | serde_json::Value::Object(ref map) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/lalr_util/src/ast.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | serde_json::Value::Object(ref map) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token { [INFO] [stdout] | ^^^^^ ------ [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:226:15 [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter<'_, Symbol> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lalr_util/src/rule.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 146 - panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] 146 + panic!("Use of undeclared rule set: {:?}", src); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/util.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc>; [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>; [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token { [INFO] [stdout] | ^^^^^ ------ [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:226:15 [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter<'_, Symbol> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lalr_util/src/rule.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 146 - panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] 146 + panic!("Use of undeclared rule set: {:?}", src); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/util.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc>; [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>; [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling proc_callback v0.1.0 (/opt/rustwide/workdir/src/proc_callback) [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/proc_callback/src/lib.rs:432:36 [INFO] [stdout] | [INFO] [stdout] 432 | panic!(format!( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 433 | | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stdout] 434 | | symbol, [INFO] [stdout] 435 | | prev, [INFO] [stdout] 436 | | item [INFO] [stdout] 437 | | )); [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 432 ~ panic!( [INFO] [stdout] 433 | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stdout] ... [INFO] [stdout] 436 | item [INFO] [stdout] 437 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling myrpg v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `VecDeque::::split_off` that must be used [INFO] [stdout] --> src/lib.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | states.split_off(len - ast_size - term_size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 259 | let _ = states.split_off(len - ast_size - term_size); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast, Vec), ()> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec), ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.25s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "08f31d99d9e58a1e010e1e7e6b67a77a8d721ac679c75aca63e19f8e11b954fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08f31d99d9e58a1e010e1e7e6b67a77a8d721ac679c75aca63e19f8e11b954fa", kill_on_drop: false }` [INFO] [stdout] 08f31d99d9e58a1e010e1e7e6b67a77a8d721ac679c75aca63e19f8e11b954fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ccaa2737efc47ce9e022d16fd58893104bcb4c64fdb4691d130375c132441190 [INFO] running `Command { std: "docker" "start" "-a" "ccaa2737efc47ce9e022d16fd58893104bcb4c64fdb4691d130375c132441190", kill_on_drop: false }` [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:16:26 [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut Write) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut dyn Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/lalr_util/src/ast.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | serde_json::Value::Object(ref map) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token { [INFO] [stdout] | ^^^^^ ------ [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:226:15 [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter<'_, Symbol> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lalr_util/src/rule.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 146 - panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] 146 + panic!("Use of undeclared rule set: {:?}", src); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/util.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc>; [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>; [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling myrpg v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/rule.rs:16:26 [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | pub handle_exec: Box) -> Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lalr_util/src/log.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut Write) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub fn from(writer: &'a mut dyn Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/lalr_util/src/ast.rs:171:43 [INFO] [stdout] | [INFO] [stdout] 171 | serde_json::Value::Object(ref map) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 210 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 278 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:287:19 [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast { [INFO] [stdout] | ^^^^^ ------- [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 287 | pub fn as_ast(&self) -> &Ast<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/ast.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token { [INFO] [stdout] | ^^^^^ ------ [INFO] [stdout] | | || [INFO] [stdout] | | |the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 294 | pub fn as_token(&self) -> &Token<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 82 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 199 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/parse_util.rs:226:15 [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc> { [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 226 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 20 | pub fn iter(&self) -> std::slice::Iter<'_, Symbol> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 106 | pub fn iter(&self) -> std::slice::Iter<'_, Rule> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lalr_util/src/rule.rs:146:20 [INFO] [stdout] | [INFO] [stdout] 146 | panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 146 - panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stdout] 146 + panic!("Use of undeclared rule set: {:?}", src); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/rule.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter> { [INFO] [stdout] | ^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lalr_util/src/util.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc>; [INFO] [stdout] | ^^^^^ --------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 4 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>; [INFO] [stdout] | +++ +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/proc_callback/src/lib.rs:432:36 [INFO] [stdout] | [INFO] [stdout] 432 | panic!(format!( [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 433 | | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stdout] 434 | | symbol, [INFO] [stdout] 435 | | prev, [INFO] [stdout] 436 | | item [INFO] [stdout] 437 | | )); [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 432 ~ panic!( [INFO] [stdout] 433 | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stdout] ... [INFO] [stdout] 436 | item [INFO] [stdout] 437 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `VecDeque::::split_off` that must be used [INFO] [stdout] --> src/lib.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | states.split_off(len - ast_size - term_size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 259 | let _ = states.split_off(len - ast_size - term_size); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast, Vec), ()> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec), ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Computing First Set... [INFO] [stdout] Computing Closures... [INFO] [stdout] Computing Look Ahead Tokens... [INFO] [stdout] Building LALR Action Table... [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] States = 9 [INFO] [stdout] Actions = 19 [INFO] [stdout] Computing First Set... [INFO] [stdout] Computing Closures... [INFO] [stdout] Computing Look Ahead Tokens... [INFO] [stdout] Building LALR Action Table... [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] States = 10 [INFO] [stdout] Actions = 33 [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:66:34 [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | lex_cbs: HashMap ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok` [INFO] [stdout] --> tests/test.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | SRC_LOC => r";" => |tok, ctrl| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | Option ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:29:32 [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 29 | Option) -> Option>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | Option) -> ()>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `VecDeque::::split_off` that must be used [INFO] [stdout] --> src/lib.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | states.split_off(len - ast_size - term_size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: use `.truncate()` if you don't need the other half [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 259 | let _ = states.split_off(len - ast_size - term_size); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast, Vec), ()> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec), ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.74s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "ccaa2737efc47ce9e022d16fd58893104bcb4c64fdb4691d130375c132441190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccaa2737efc47ce9e022d16fd58893104bcb4c64fdb4691d130375c132441190", kill_on_drop: false }` [INFO] [stdout] ccaa2737efc47ce9e022d16fd58893104bcb4c64fdb4691d130375c132441190 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 8a43173b6c4ec147bf8b52c0ba25c227c27a703e1b4ad5b24481ec4f46ec166b [INFO] running `Command { std: "docker" "start" "-a" "8a43173b6c4ec147bf8b52c0ba25c227c27a703e1b4ad5b24481ec4f46ec166b", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lalr_util/src/log.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | writer: &'a mut Write, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 85 | writer: &'a mut dyn Write, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lalr_util/src/rule.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 15 | pub handle_reduce: Option) -> ()>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lalr_util/src/rule.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | pub handle_exec: Box) -> Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 | pub handle_exec: Box) -> Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lalr_util/src/log.rs:89:33 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn from(writer: &'a mut Write) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 | pub fn from(writer: &'a mut dyn Write) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map` [INFO] [stderr] --> src/lalr_util/src/ast.rs:171:43 [INFO] [stderr] | [INFO] [stderr] 171 | serde_json::Value::Object(ref map) => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/ast.rs:210:15 [INFO] [stderr] | [INFO] [stderr] 210 | fn to_doc(&self) -> Doc> { [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 210 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/ast.rs:278:15 [INFO] [stderr] | [INFO] [stderr] 278 | fn to_doc(&self) -> Doc> { [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 278 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/ast.rs:287:19 [INFO] [stderr] | [INFO] [stderr] 287 | pub fn as_ast(&self) -> &Ast { [INFO] [stderr] | ^^^^^ ------- [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 287 | pub fn as_ast(&self) -> &Ast<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/ast.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | pub fn as_token(&self) -> &Token { [INFO] [stderr] | ^^^^^ ------ [INFO] [stderr] | | || [INFO] [stderr] | | |the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 294 | pub fn as_token(&self) -> &Token<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/parse_util.rs:82:15 [INFO] [stderr] | [INFO] [stderr] 82 | fn to_doc(&self) -> Doc> { [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 82 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/parse_util.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter> { [INFO] [stderr] | ^^^^^ ---------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 108 | pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/parse_util.rs:199:15 [INFO] [stderr] | [INFO] [stderr] 199 | fn to_doc(&self) -> Doc> { [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 199 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/parse_util.rs:226:15 [INFO] [stderr] | [INFO] [stderr] 226 | fn to_doc(&self) -> Doc> { [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 226 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> { [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/rule.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stderr] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 20 | pub fn iter(&self) -> std::slice::Iter<'_, Symbol> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/rule.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 106 | pub fn iter(&self) -> std::slice::Iter<'_, Rule> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lalr_util/src/rule.rs:146:20 [INFO] [stderr] | [INFO] [stderr] 146 | panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 146 - panic!(format!("Use of undeclared rule set: {:?}", src)); [INFO] [stderr] 146 + panic!("Use of undeclared rule set: {:?}", src); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/rule.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn iter(&self) -> hash_map::Iter> { [INFO] [stderr] | ^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 149 | pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lalr_util/src/util.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | fn to_doc(&self) -> Doc>; [INFO] [stderr] | ^^^^^ --------------- [INFO] [stderr] | | | | [INFO] [stderr] | | | the lifetimes get resolved as `'_` [INFO] [stderr] | | the lifetimes get resolved as `'_` [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 4 | fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>; [INFO] [stderr] | +++ +++ [INFO] [stderr] [INFO] [stderr] warning: `lalr_util` (lib) generated 18 warnings (run `cargo fix --lib -p lalr_util` to apply 17 suggestions) [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/proc_callback/src/lib.rs:432:36 [INFO] [stderr] | [INFO] [stderr] 432 | panic!(format!( [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 433 | | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stderr] 434 | | symbol, [INFO] [stderr] 435 | | prev, [INFO] [stderr] 436 | | item [INFO] [stderr] 437 | | )); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [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] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 432 ~ panic!( [INFO] [stderr] 433 | "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table", [INFO] [stderr] ... [INFO] [stderr] 436 | item [INFO] [stderr] 437 ~ ); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `proc_callback` (lib) generated 1 warning (run `cargo fix --lib -p proc_callback` to apply 1 suggestion) [INFO] [stderr] warning: `lalr_util` (lib) generated 18 warnings (18 duplicates) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | lex_cbs: HashMap ()>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 66 | lex_cbs: HashMap ()>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | Option ()>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 | Option ()>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:29:32 [INFO] [stderr] | [INFO] [stderr] 29 | Option) -> Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 29 | Option) -> Option>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:30:32 [INFO] [stderr] | [INFO] [stderr] 30 | Option) -> ()>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 | Option) -> ()>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `VecDeque::::split_off` that must be used [INFO] [stderr] --> src/lib.rs:259:9 [INFO] [stderr] | [INFO] [stderr] 259 | states.split_off(len - ast_size - term_size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: use `.truncate()` if you don't need the other half [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 259 | let _ = states.split_off(len - ast_size - term_size); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:343:18 [INFO] [stderr] | [INFO] [stderr] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast, Vec), ()> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 343 | pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec), ()> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `myrpg` (lib) generated 6 warnings (run `cargo fix --lib -p myrpg` to apply 5 suggestions) [INFO] [stderr] warning: `myrpg` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] warning: unused variable: `tok` [INFO] [stderr] --> tests/test.rs:50:25 [INFO] [stderr] | [INFO] [stderr] 50 | SRC_LOC => r";" => |tok, ctrl| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tok` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `myrpg` (test "test") generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/myrpg-515bb888bd9b9afe) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Running tests/test.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/test-acea2631c4f01c23) [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 1 test [INFO] [stdout] error: unexpected token: "else" [INFO] [stdout]  --> /usr/include/stdio.h:1:9 [INFO] [stdout]  |  [INFO] [stdout] 1 | /* Define ISO C stdio on top of C++ iostreams. [INFO] [stdout]  |  ^^^^ [INFO] [stdout] [INFO] [stdout] test test_srclocexpr ... 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] running `Command { std: "docker" "inspect" "8a43173b6c4ec147bf8b52c0ba25c227c27a703e1b4ad5b24481ec4f46ec166b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a43173b6c4ec147bf8b52c0ba25c227c27a703e1b4ad5b24481ec4f46ec166b", kill_on_drop: false }` [INFO] [stdout] 8a43173b6c4ec147bf8b52c0ba25c227c27a703e1b4ad5b24481ec4f46ec166b