[INFO] cloning repository https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust_bootcamp_2023VietNam", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust_bootcamp_2023VietNam'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3b07f5aaf03daf584f7db80696b175e1d700edac [INFO] checking PhamDucLong90/Rust_bootcamp_2023VietNam against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust_bootcamp_2023VietNam" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam [INFO] tweaked toml for git repo https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/PhamDucLong90/Rust_bootcamp_2023VietNam 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77 [INFO] running `Command { std: "docker" "start" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking Rust-Bootcamp-2023 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking basic-of-rust v0.1.0 (/opt/rustwide/workdir/exercises/basic-of-rust) [INFO] [stdout] warning: function `bigger` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_number` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn check_number(number: i32) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `foo_if_fizz` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn foo_if_fizz(fizzish: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_leap_year` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_leap_year(year: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `factorial` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn factorial(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_prime` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_prime(n: u32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise2` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn exercise2() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise3` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn exercise3() -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reverse_string` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn reverse_string(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_palindrome` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn is_palindrome(word: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_char_occurrences` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:54:4 [INFO] [stdout] | [INFO] [stdout] 54 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x:i32, y:i32) -> i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_one_to_n` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn sum_one_to_n(n: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_average` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn calculate_average(numbers: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sum_even_numbers` is never used [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn sum_even_numbers(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | "Positive".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + "Positive" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + <&str as Into<_>>::into("Positive") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | "Negative".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + "Negative" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + <&str as Into<_>>::into("Negative") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | "Zero".into() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + "Zero" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + <&str as Into<_>>::into("Zero") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | "foo".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + "foo" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + <&str as Into<_>>::into("foo") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | "bar".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + "bar" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + <&str as Into<_>>::into("bar") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | "baz".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + "baz" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + <&str as Into<_>>::into("baz") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `basic-of-rust` (lib) due to 6 previous errors; 15 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | "Positive".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + "Positive" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + <&str as Into<_>>::into("Positive") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | "Negative".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + "Negative" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + <&str as Into<_>>::into("Negative") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | "Zero".into() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + "Zero" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + <&str as Into<_>>::into("Zero") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | "foo".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + "foo" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + <&str as Into<_>>::into("foo") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | "bar".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + "bar" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + <&str as Into<_>>::into("bar") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | "baz".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + "baz" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + <&str as Into<_>>::into("baz") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `Rust-Bootcamp-2023` (test "conditions") due to 6 previous errors [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | "Positive".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + "Positive" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - "Positive".into() [INFO] [stdout] 20 + <&str as Into<_>>::into("Positive") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | "Negative".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + "Negative" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 22 - "Negative".into() [INFO] [stdout] 22 + <&str as Into<_>>::into("Negative") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | "Zero".into() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + "Zero" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 24 - "Zero".into() [INFO] [stdout] 24 + <&str as Into<_>>::into("Zero") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | "foo".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + "foo" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 35 - "foo".into() [INFO] [stdout] 35 + <&str as Into<_>>::into("foo") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | "bar".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + "bar" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 37 - "bar".into() [INFO] [stdout] 37 + <&str as Into<_>>::into("bar") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | "baz".into() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + "baz" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 39 - "baz".into() [INFO] [stdout] 39 + <&str as Into<_>>::into("baz") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `basic-of-rust` (lib test) due to 6 previous errors [INFO] running `Command { std: "docker" "inspect" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77", kill_on_drop: false }` [INFO] [stdout] 660a8cca202e93ff958265b9086d5a8ef77e65f081cf6b9306aed28551565d77