[INFO] cloning repository https://github.com/PhamDucLong90/Rust-_Lesson3 [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-_Lesson3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust-_Lesson3", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust-_Lesson3'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1476b1d71353fa4f87167250d9339dfc67932f32 [INFO] checking PhamDucLong90/Rust-_Lesson3 against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhamDucLong90%2FRust-_Lesson3" "/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-_Lesson3 [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/PhamDucLong90/Rust-_Lesson3 [INFO] tweaked toml for git repo https://github.com/PhamDucLong90/Rust-_Lesson3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/PhamDucLong90/Rust-_Lesson3 on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/PhamDucLong90/Rust-_Lesson3 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 147f39581944bc4dd3214a931a1e2cf864d69708a2c3743a993617aad8d51bea [INFO] running `Command { std: "docker" "start" "-a" "147f39581944bc4dd3214a931a1e2cf864d69708a2c3743a993617aad8d51bea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "147f39581944bc4dd3214a931a1e2cf864d69708a2c3743a993617aad8d51bea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "147f39581944bc4dd3214a931a1e2cf864d69708a2c3743a993617aad8d51bea", kill_on_drop: false }` [INFO] [stdout] 147f39581944bc4dd3214a931a1e2cf864d69708a2c3743a993617aad8d51bea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] baeae6cf1ece1d54394512e61a8d241478604f0b3950e5b33ef35af2f76768c9 [INFO] running `Command { std: "docker" "start" "-a" "baeae6cf1ece1d54394512e61a8d241478604f0b3950e5b33ef35af2f76768c9", kill_on_drop: false }` [INFO] [stderr] Checking ownership-borrowing v0.1.0 (/opt/rustwide/workdir/exercises/ownership-borrowing) [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] [stderr] Checking complex-type v0.1.0 (/opt/rustwide/workdir/exercises/complex-type) [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `,` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x, y: i32) { [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x: TypeName, y: i32) { [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(_: x, y: i32) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `,` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x, y: i32) { [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x: TypeName, y: i32) { [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(_: x, y: i32) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `@`, or `|`, found `,` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x, y: i32) { [INFO] [stdout] | ^ expected one of `:`, `@`, or `|` [INFO] [stdout] | [INFO] [stdout] help: if this is a parameter name, give it a type [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(x: TypeName, y: i32) { [INFO] [stdout] | ++++++++++ [INFO] [stdout] help: if this is a type, explicitly ignore the parameter name [INFO] [stdout] | [INFO] [stdout] 3 | fn sum(_: x, y: i32) { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `()` doesn't implement `std::fmt::Display` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | println!("{}", s2); [INFO] [stdout] | -- ^^ `()` cannot be formatted with the default formatter [INFO] [stdout] | | [INFO] [stdout] | required by this formatting parameter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `()` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `()` doesn't implement `std::fmt::Display` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | println!("{}", s2); [INFO] [stdout] | -- ^^ `()` cannot be formatted with the default formatter [INFO] [stdout] | | [INFO] [stdout] | required by this formatting parameter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `()` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `x` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 5 | let x = String::from("hello, world"); [INFO] [stdout] | - move occurs because `x` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] 6 | let y = x; [INFO] [stdout] | - value moved here [INFO] [stdout] 7 | let z = x; [INFO] [stdout] | ^ value used here after move [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 6 | let y = x.clone(); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let z = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn foo_if_fizz(fizzish: &str) -> &str { [INFO] [stdout] | ---- expected `&str` because of return type [INFO] [stdout] ... [INFO] [stdout] 26 | 1 [INFO] [stdout] | ^ expected `&str`, found integer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `additions` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 36 | let additions: Vec = vec![0]; [INFO] [stdout] | --------- move occurs because `additions` has type `Vec`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 40 | while additions.len() > 0 { [INFO] [stdout] | ------^^^^^^^^^---------- [INFO] [stdout] | | | [INFO] [stdout] | | value borrowed here after move [INFO] [stdout] | inside of this loop [INFO] [stdout] ... [INFO] [stdout] 44 | for element_index in additions { [INFO] [stdout] | --------- `additions` moved due to this implicit call to `.into_iter()`, in previous iteration of loop [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `additions` [INFO] [stdout] --> /rustc/66388cc165a6c4ac98c074dc9f0281ff23528c55/library/core/src/iter/traits/collect.rs:310:17 [INFO] [stdout] help: consider iterating over a slice of the `Vec`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 44 | for element_index in &additions { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `x` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 5 | let x = String::from("hello, world"); [INFO] [stdout] | - move occurs because `x` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] 6 | let y = x; [INFO] [stdout] | - value moved here [INFO] [stdout] 7 | let z = x; [INFO] [stdout] | ^ value used here after move [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 6 | let y = x.clone(); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let z = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `str_value` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | let str_ref: &str = &str_value; // Obtain a reference to the String [INFO] [stdout] | ---------- `str_value` is borrowed here [INFO] [stdout] 56 | str_ref // Return the reference to the String [INFO] [stdout] | ^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `additions` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 36 | let additions: Vec = vec![0]; [INFO] [stdout] | --------- move occurs because `additions` has type `Vec`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 40 | while additions.len() > 0 { [INFO] [stdout] | ------^^^^^^^^^---------- [INFO] [stdout] | | | [INFO] [stdout] | | value borrowed here after move [INFO] [stdout] | inside of this loop [INFO] [stdout] ... [INFO] [stdout] 44 | for element_index in additions { [INFO] [stdout] | --------- `additions` moved due to this implicit call to `.into_iter()`, in previous iteration of loop [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `additions` [INFO] [stdout] --> /rustc/66388cc165a6c4ac98c074dc9f0281ff23528c55/library/core/src/iter/traits/collect.rs:310:17 [INFO] [stdout] help: consider iterating over a slice of the `Vec`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 44 | for element_index in &additions { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | s.push(" world"); [INFO] [stdout] | ---- ^^^^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/66388cc165a6c4ac98c074dc9f0281ff23528c55/library/alloc/src/string.rs:1416:11 [INFO] [stdout] help: you might have meant to use `push_str` [INFO] [stdout] | [INFO] [stdout] 12 | s.push_str(" world"); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `str_value` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | let str_ref: &str = &str_value; // Obtain a reference to the String [INFO] [stdout] | ---------- `str_value` is borrowed here [INFO] [stdout] 56 | str_ref // Return the reference to the String [INFO] [stdout] | ^^^^^^^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `value` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 70 | let value = "3.0".to_string(); [INFO] [stdout] | ----- binding `value` declared here [INFO] [stdout] 71 | my_map.insert(key, value); [INFO] [stdout] 72 | &value // HERE IT FAILS [INFO] [stdout] | ^^^^^^ borrowed value does not live long enough [INFO] [stdout] 73 | } [INFO] [stdout] | - `value` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `value` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 70 | let value = "3.0".to_string(); [INFO] [stdout] | ----- binding `value` declared here [INFO] [stdout] 71 | my_map.insert(key, value); [INFO] [stdout] 72 | &value // HERE IT FAILS [INFO] [stdout] | ^^^^^^ borrowed value does not live long enough [INFO] [stdout] 73 | } [INFO] [stdout] | - `value` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `value` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 70 | let value = "3.0".to_string(); [INFO] [stdout] | ----- move occurs because `value` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] 71 | my_map.insert(key, value); [INFO] [stdout] | ----- value moved here [INFO] [stdout] 72 | &value // HERE IT FAILS [INFO] [stdout] | ^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 71 | my_map.insert(key, value.clone()); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `value` [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 70 | let value = "3.0".to_string(); [INFO] [stdout] | ----- move occurs because `value` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] 71 | my_map.insert(key, value); [INFO] [stdout] | ----- value moved here [INFO] [stdout] 72 | &value // HERE IT FAILS [INFO] [stdout] | ^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 71 | my_map.insert(key, value.clone()); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 88 | let s = line.unwrap(); [INFO] [stdout] | - binding `s` declared here [INFO] [stdout] 89 | [INFO] [stdout] 90 | let data: Vec<&str> = s.split("\t").collect(); [INFO] [stdout] | ---- ^ borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] | variable `data` declared here [INFO] [stdout] 91 | if prev_key.len() == 0 { [INFO] [stdout] | -------- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 94 | } [INFO] [stdout] | - `s` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] = note: `data` is a collection that stores borrowed references, but `s` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `chars` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:103:43 [INFO] [stdout] | [INFO] [stdout] 100 | let mut v: Vec<&str> = Vec::new(); [INFO] [stdout] | ----- variable `v` declared here [INFO] [stdout] 101 | { [INFO] [stdout] 102 | let chars = [b'x', b'y', b'z']; [INFO] [stdout] | ----- binding `chars` declared here [INFO] [stdout] 103 | let s: &str = std::str::from_utf8(&chars).unwrap(); [INFO] [stdout] | ^^^^^^ borrowed value does not live long enough [INFO] [stdout] 104 | v.push(&s); [INFO] [stdout] 105 | } [INFO] [stdout] | - `chars` dropped here while still borrowed [INFO] [stdout] 106 | println!("{:?}", v); [INFO] [stdout] | - borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: `v` is a collection that stores borrowed references, but `chars` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 88 | let s = line.unwrap(); [INFO] [stdout] | - binding `s` declared here [INFO] [stdout] 89 | [INFO] [stdout] 90 | let data: Vec<&str> = s.split("\t").collect(); [INFO] [stdout] | ---- ^ borrowed value does not live long enough [INFO] [stdout] | | [INFO] [stdout] | variable `data` declared here [INFO] [stdout] 91 | if prev_key.len() == 0 { [INFO] [stdout] | -------- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 94 | } [INFO] [stdout] | - `s` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] = note: `data` is a collection that stores borrowed references, but `s` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `add_input` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:121:34 [INFO] [stdout] | [INFO] [stdout] 112 | let mut accounting = vec!["Alice", "Ben"]; [INFO] [stdout] | -------------- variable `accounting` declared here [INFO] [stdout] ... [INFO] [stdout] 115 | let mut add_input = String::from(""); [INFO] [stdout] | ------------- binding `add_input` declared here [INFO] [stdout] ... [INFO] [stdout] 121 | let add_vec: Vec<&str> = add_input.trim()[..].split_whitespace().collect(); [INFO] [stdout] | ^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 129 | accounting.push(person); [INFO] [stdout] | ---------- borrow later used here [INFO] [stdout] 130 | } [INFO] [stdout] | - `add_input` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] = note: `accounting` is a collection that stores borrowed references, but `add_input` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `chars` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:103:43 [INFO] [stdout] | [INFO] [stdout] 100 | let mut v: Vec<&str> = Vec::new(); [INFO] [stdout] | ----- variable `v` declared here [INFO] [stdout] 101 | { [INFO] [stdout] 102 | let chars = [b'x', b'y', b'z']; [INFO] [stdout] | ----- binding `chars` declared here [INFO] [stdout] 103 | let s: &str = std::str::from_utf8(&chars).unwrap(); [INFO] [stdout] | ^^^^^^ borrowed value does not live long enough [INFO] [stdout] 104 | v.push(&s); [INFO] [stdout] 105 | } [INFO] [stdout] | - `chars` dropped here while still borrowed [INFO] [stdout] 106 | println!("{:?}", v); [INFO] [stdout] | - borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: `v` is a collection that stores borrowed references, but `chars` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `add_input` does not live long enough [INFO] [stdout] --> exercises/ownership-borrowing/src/lib.rs:121:34 [INFO] [stdout] | [INFO] [stdout] 112 | let mut accounting = vec!["Alice", "Ben"]; [INFO] [stdout] | -------------- variable `accounting` declared here [INFO] [stdout] ... [INFO] [stdout] 115 | let mut add_input = String::from(""); [INFO] [stdout] | ------------- binding `add_input` declared here [INFO] [stdout] ... [INFO] [stdout] 121 | let add_vec: Vec<&str> = add_input.trim()[..].split_whitespace().collect(); [INFO] [stdout] | ^^^^^^^^^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 129 | accounting.push(person); [INFO] [stdout] | ---------- borrow later used here [INFO] [stdout] 130 | } [INFO] [stdout] | - `add_input` dropped here while still borrowed [INFO] [stdout] | [INFO] [stdout] = note: `accounting` is a collection that stores borrowed references, but `add_input` does not live long enough to be stored in it [INFO] [stdout] = help: buffer reuse with borrowed references requires unsafe code or restructuring [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0382, E0515, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0382, E0515, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | s += "!".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: try removing the method call [INFO] [stdout] | [INFO] [stdout] 13 - s += "!".to_string(); [INFO] [stdout] 13 + s += "!"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + s2; [INFO] [stdout] | ^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + &s2; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:42:23 [INFO] [stdout] | [INFO] [stdout] 42 | assert_eq!(s, 3); [INFO] [stdout] | ^ expected `()`, found integer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | fn check_number(number: u32) -> &'static str { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `year` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | fn is_leap_year(year: i32) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | fn factorial(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_prime(n: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | fn exercise1(color: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | fn reverse_string(input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | fn is_palindrome(word: &str) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:27 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:41 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn sum_one_to_n(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | fn calculate_average(numbers: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | fn sum_even_numbers(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn foo_if_fizz(fizzish: &str) -> &str { [INFO] [stdout] | ---- expected `&str` because of return type [INFO] [stdout] ... [INFO] [stdout] 26 | 1 [INFO] [stdout] | ^ expected `&str`, found integer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ownership-borrowing` (lib) due to 9 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `ownership-borrowing` (lib test) due to 9 previous errors; 2 warnings emitted [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u32` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let result = check_number(-5); [INFO] [stdout] | ^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operation` is never used [INFO] [stdout] --> src/main.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Operation { [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 `perform_operation` is never used [INFO] [stdout] --> src/main.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn perform_operation(operation: Operation, num1: f64, num2: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn sum_one_to_n(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | fn calculate_average(numbers: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | fn sum_even_numbers(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operation` is never used [INFO] [stdout] --> src/main.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | enum Operation { [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 `perform_operation` is never used [INFO] [stdout] --> src/main.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn perform_operation(operation: Operation, num1: f64, num2: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `basic-of-rust` (lib) due to 5 previous errors; 14 warnings emitted [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn foo_if_fizz(fizzish: &str) -> &str { [INFO] [stdout] | ---- expected `&str` because of return type [INFO] [stdout] ... [INFO] [stdout] 26 | 1 [INFO] [stdout] | ^ expected `&str`, found integer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | fn check_number(number: u32) -> &'static str { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `year` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | fn is_leap_year(year: i32) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | fn factorial(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_prime(n: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | s.push(" world"); [INFO] [stdout] | ---- ^^^^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/66388cc165a6c4ac98c074dc9f0281ff23528c55/library/alloc/src/string.rs:1416:11 [INFO] [stdout] help: you might have meant to use `push_str` [INFO] [stdout] | [INFO] [stdout] 12 | s.push_str(" world"); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0600. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | s += "!".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: try removing the method call [INFO] [stdout] | [INFO] [stdout] 13 - s += "!".to_string(); [INFO] [stdout] 13 + s += "!"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `Rust-Bootcamp-2023` (test "conditions") due to 2 previous errors; 6 warnings emitted [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + s2; [INFO] [stdout] | ^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + &s2; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `Rust-Bootcamp-2023` (test "functions") due to 2 previous errors; 3 warnings emitted [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | fn exercise1(color: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | fn reverse_string(input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | fn is_palindrome(word: &str) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:27 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:41 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u2` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let u2 = User { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_u2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `Rust-Bootcamp-2023` (test "strings") due to 3 previous errors; 5 warnings emitted [INFO] [stdout] warning: unused variable: `moved` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let moved = &foos[0]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_moved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moved1` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let moved1 = &foos[1]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moved1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u2` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let u2 = User { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_u2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moved` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let moved = &foos[0]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_moved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moved1` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let moved1 = &foos[1]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moved1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u32` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let result = check_number(-5); [INFO] [stdout] | ^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Person { [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 `exercise1` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn exercise1() -> Person { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Agent` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | struct Agent { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_name`, and `get_age` are never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 39 | impl Agent { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 40 | // Create a new Person instance [INFO] [stdout] 41 | fn new(name: String, age: u32) -> Agent { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn get_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn get_age(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Calculator` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct Calculator { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `hobby` are never read [INFO] [stdout] --> exercises/complex-type/src/structs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 7 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | age: u8, [INFO] [stdout] 9 | hobby: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, `subtract`, `clear`, and `get_value` are never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Calculator { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 66 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn add(&mut self, num: i32) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn subtract(&mut self, num: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise4` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn exercise4() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Foo` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | struct Foo { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise5` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn exercise5() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise4` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn exercise4() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageOne` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum MessageOne { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> exercises/complex-type/src/enums.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | #[warn(dead_code)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Foo` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | struct Foo { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_message` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn show_message(msg: &MessageOne) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise1` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn exercise1() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise5` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn exercise5() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Package` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | struct Package { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_international`, and `get_fees` are never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 168 | impl Package { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 169 | fn new(sender_country: String, recipient_country: String, weight_in_grams: i32) -> Package { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn is_international(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn get_fees(&self, cents_per_gram: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageOne` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum MessageOne { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> exercises/complex-type/src/enums.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | #[warn(dead_code)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_message` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn show_message(msg: &MessageOne) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise1` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn exercise1() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Message` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | enum Message { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> exercises/complex-type/src/enums.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `State` is never constructed [INFO] [stdout] --> exercises/complex-type/src/enums.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `change_color`, `quit`, `echo`, `move_position`, and `process` are never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl State { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 53 | fn change_color(&mut self, color: (u8, u8, u8)) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn quit(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn echo(&self, s: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn move_position(&mut self, p: Point) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn process(&mut self, message: Message) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:99:6 [INFO] [stdout] | [INFO] [stdout] 99 | enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `opposite` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | impl Direction { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 107 | fn opposite(&self) -> Direction { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operation` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:125:6 [INFO] [stdout] | [INFO] [stdout] 125 | enum Operation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_operation` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:133:4 [INFO] [stdout] | [INFO] [stdout] 133 | fn perform_operation(operation: Operation, num1: f64, num2: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u2` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let u2 = User { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_u2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moved` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | let moved = &foos[0]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_moved` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moved1` [INFO] [stdout] --> exercises/complex-type/src/structs.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let moved1 = &foos[1]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moved1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MessageOne` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:6:6 [INFO] [stdout] | [INFO] [stdout] 6 | enum MessageOne { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> exercises/complex-type/src/enums.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | #[warn(dead_code)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `show_message` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn show_message(msg: &MessageOne) { [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 `exercise1` is never used [INFO] [stdout] --> exercises/complex-type/src/enums.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn exercise1() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | s.push(" world"); [INFO] [stdout] | ---- ^^^^^^^^ expected `char`, found `&str` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/66388cc165a6c4ac98c074dc9f0281ff23528c55/library/alloc/src/string.rs:1416:11 [INFO] [stdout] help: you might have meant to use `push_str` [INFO] [stdout] | [INFO] [stdout] 12 | s.push_str(" world"); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `hobby` are never read [INFO] [stdout] --> exercises/complex-type/src/structs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | struct Person { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 7 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | age: u8, [INFO] [stdout] 9 | hobby: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise4` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn exercise4() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Foo` is never constructed [INFO] [stdout] --> exercises/complex-type/src/structs.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | struct Foo { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exercise5` is never used [INFO] [stdout] --> exercises/complex-type/src/structs.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn exercise5() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | s += "!".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: try removing the method call [INFO] [stdout] | [INFO] [stdout] 13 - s += "!".to_string(); [INFO] [stdout] 13 + s += "!"; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + s2; [INFO] [stdout] | ^^ expected `&str`, found `String` [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 21 | let s3 = s1 + &s2; [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:42:23 [INFO] [stdout] | [INFO] [stdout] 42 | assert_eq!(s, 3); [INFO] [stdout] | ^ expected `()`, found integer [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn bigger(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | fn check_number(number: u32) -> &'static str { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `year` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | fn is_leap_year(year: i32) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | fn factorial(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/conditions.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | fn is_prime(n: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | fn exercise1(color: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | fn reverse_string(input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | fn is_palindrome(word: &str) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:27 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> exercises/basic-of-rust/src/strings.rs:41:41 [INFO] [stdout] | [INFO] [stdout] 41 | fn count_char_occurrences(string: &str, ch: char) -> usize { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn sum_one_to_n(n: u32) -> u32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | fn calculate_average(numbers: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> exercises/basic-of-rust/src/functions.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | fn sum_even_numbers(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0600. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `basic-of-rust` (lib test) due to 7 previous errors; 14 warnings emitted [INFO] running `Command { std: "docker" "inspect" "baeae6cf1ece1d54394512e61a8d241478604f0b3950e5b33ef35af2f76768c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "baeae6cf1ece1d54394512e61a8d241478604f0b3950e5b33ef35af2f76768c9", kill_on_drop: false }` [INFO] [stdout] baeae6cf1ece1d54394512e61a8d241478604f0b3950e5b33ef35af2f76768c9