[INFO] fetching crate simple-text-editor 0.2.3... [INFO] testing simple-text-editor-0.2.3 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate simple-text-editor 0.2.3 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate simple-text-editor 0.2.3 [INFO] finished tweaking crates.io crate simple-text-editor 0.2.3 [INFO] tweaked toml for crates.io crate simple-text-editor 0.2.3 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate simple-text-editor 0.2.3 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate simple-text-editor 0.2.3 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f0cc15595dfc41d5cd6985d8dc8b5e0a5d6fe517cecb26a7eb49473b073492aa [INFO] running `Command { std: "docker" "start" "-a" "f0cc15595dfc41d5cd6985d8dc8b5e0a5d6fe517cecb26a7eb49473b073492aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f0cc15595dfc41d5cd6985d8dc8b5e0a5d6fe517cecb26a7eb49473b073492aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0cc15595dfc41d5cd6985d8dc8b5e0a5d6fe517cecb26a7eb49473b073492aa", kill_on_drop: false }` [INFO] [stdout] f0cc15595dfc41d5cd6985d8dc8b5e0a5d6fe517cecb26a7eb49473b073492aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f9055ad5383019997a4987ed3b7d3021ba6e4c797ee0320a0dcbfe0a4f394202 [INFO] running `Command { std: "docker" "start" "-a" "f9055ad5383019997a4987ed3b7d3021ba6e4c797ee0320a0dcbfe0a4f394202", kill_on_drop: false }` [INFO] [stderr] Compiling simple-text-editor v0.2.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:108:52 [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec)> { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec>)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | / format!( [INFO] [stdout] 47 | | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | | MAX_OPS [INFO] [stdout] 49 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 46 ~ [INFO] [stdout] 47 | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | MAX_OPS [INFO] [stdout] 49 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | ... format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 53 - format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] 53 + "The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 73 - format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] 73 + "The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s [INFO] running `Command { std: "docker" "inspect" "f9055ad5383019997a4987ed3b7d3021ba6e4c797ee0320a0dcbfe0a4f394202", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9055ad5383019997a4987ed3b7d3021ba6e4c797ee0320a0dcbfe0a4f394202", kill_on_drop: false }` [INFO] [stdout] f9055ad5383019997a4987ed3b7d3021ba6e4c797ee0320a0dcbfe0a4f394202 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d1a630d38ee81419a3cb7f1d2d7b669a981479db21b3339de924f218481ba06c [INFO] running `Command { std: "docker" "start" "-a" "d1a630d38ee81419a3cb7f1d2d7b669a981479db21b3339de924f218481ba06c", kill_on_drop: false }` [INFO] [stderr] Compiling simple-text-editor v0.2.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:108:52 [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec)> { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec>)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | / format!( [INFO] [stdout] 47 | | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | | MAX_OPS [INFO] [stdout] 49 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 46 ~ [INFO] [stdout] 47 | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | MAX_OPS [INFO] [stdout] 49 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | ... format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 53 - format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] 53 + "The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 73 - format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] 73 + "The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:108:52 [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ops.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec)> { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 143 | pub fn parse(input: &str) -> Option<(usize, Vec>)> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/tests.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | / &[ [INFO] [stdout] 5 | | ("1 abc", Operation::Append("abc")), [INFO] [stdout] 6 | | ("1 abc", Operation::Append(" abc")), [INFO] [stdout] 7 | | ("1 ", Operation::Append(" ")), [INFO] [stdout] ... | [INFO] [stdout] 22 | | assert_eq!(Operation::from(case.0), case.1); [INFO] [stdout] 23 | | }); [INFO] [stdout] | |______^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 4 | let _ = &[ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | / format!( [INFO] [stdout] 47 | | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | | MAX_OPS [INFO] [stdout] 49 | | ) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 46 ~ [INFO] [stdout] 47 | "The input exceeds the max number of operations permitted. ({})", [INFO] [stdout] 48 | MAX_OPS [INFO] [stdout] 49 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | ... format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 53 - format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stdout] 53 + "The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/text.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 73 - format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stdout] 73 + "The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "d1a630d38ee81419a3cb7f1d2d7b669a981479db21b3339de924f218481ba06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1a630d38ee81419a3cb7f1d2d7b669a981479db21b3339de924f218481ba06c", kill_on_drop: false }` [INFO] [stdout] d1a630d38ee81419a3cb7f1d2d7b669a981479db21b3339de924f218481ba06c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0a27522114b74d1d3b009c893190e9e8015da0b8e309b8028741551286645bec [INFO] running `Command { std: "docker" "start" "-a" "0a27522114b74d1d3b009c893190e9e8015da0b8e309b8028741551286645bec", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ops.rs:108:52 [INFO] [stderr] | [INFO] [stderr] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation { [INFO] [stderr] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 108 | fn parse_delete_or_print(op: char, value_to_parse: &str) -> Operation<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ops.rs:143:21 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn parse(input: &str) -> Option<(usize, Vec)> { [INFO] [stderr] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 143 | pub fn parse(input: &str) -> Option<(usize, Vec>)> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/text.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | / format!( [INFO] [stderr] 47 | | "The input exceeds the max number of operations permitted. ({})", [INFO] [stderr] 48 | | MAX_OPS [INFO] [stderr] 49 | | ) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 46 ~ [INFO] [stderr] 47 | "The input exceeds the max number of operations permitted. ({})", [INFO] [stderr] 48 | MAX_OPS [INFO] [stderr] 49 ~ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/text.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | ... format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 53 - format!("The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len()) [INFO] [stderr] 53 + "The provided count doesn't match the number of valid operations parsed. (count = {}, valid operations = {})", self.num_ops, ops.len() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/text.rs:73:25 [INFO] [stderr] | [INFO] [stderr] 73 | format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 73 - format!("The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS) [INFO] [stderr] 73 + "The input exceeds the max number of characters which can be deleted. ({})", MAX_DELETE_OPS [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `simple-text-editor` (lib) generated 5 warnings (run `cargo fix --lib -p simple-text-editor` to apply 5 suggestions) [INFO] [stderr] warning: unused borrow that must be used [INFO] [stderr] --> src/tests.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | / &[ [INFO] [stderr] 5 | | ("1 abc", Operation::Append("abc")), [INFO] [stderr] 6 | | ("1 abc", Operation::Append(" abc")), [INFO] [stderr] 7 | | ("1 ", Operation::Append(" ")), [INFO] [stderr] ... | [INFO] [stderr] 22 | | assert_eq!(Operation::from(case.0), case.1); [INFO] [stderr] 23 | | }); [INFO] [stderr] | |______^ the borrow produces a value [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 4 | let _ = &[ [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `simple-text-editor` (lib test) generated 6 warnings (5 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/simple_text_editor-616bcd4d1d69fc4b) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test tests::test_apply_ops ... ok [INFO] [stdout] test tests::test_parse_input ... ok [INFO] [stdout] test tests::test_op_from_str ... ok [INFO] [stderr] Running unittests src/bin/editor.rs (/opt/rustwide/target/debug/deps/editor-9739f5e989fd43ff) [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests simple_text_editor [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test src/ops.rs - ops::Operation::Delete (line 20) ... ok [INFO] [stdout] test src/ops.rs - ops::Operation::Invalid (line 59) ... ok [INFO] [stdout] test src/ops.rs - ops::Operation::Undo (line 47) ... ok [INFO] [stdout] test src/ops.rs - ops::Operation::Append (line 7) ... ok [INFO] [stdout] test src/ops.rs - ops::Operation::Print (line 33) ... ok [INFO] [stdout] test src/ops.rs - ops::Operation<'a> (line 73) ... ok [INFO] [stdout] test src/text.rs - text::Text (line 19) ... ok [INFO] [stdout] test src/ops.rs - ops::parse (line 121) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0a27522114b74d1d3b009c893190e9e8015da0b8e309b8028741551286645bec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a27522114b74d1d3b009c893190e9e8015da0b8e309b8028741551286645bec", kill_on_drop: false }` [INFO] [stdout] 0a27522114b74d1d3b009c893190e9e8015da0b8e309b8028741551286645bec