[INFO] cloning repository https://github.com/luzeduardo/rust-exercises
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luzeduardo/rust-exercises" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluzeduardo%2Frust-exercises", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluzeduardo%2Frust-exercises'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5153217609dabf0b3895efa693091e8d0b7cd613
[INFO] testing luzeduardo/rust-exercises against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluzeduardo%2Frust-exercises" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/luzeduardo/rust-exercises
[INFO] finished tweaking git repo https://github.com/luzeduardo/rust-exercises
[INFO] tweaked toml for git repo https://github.com/luzeduardo/rust-exercises written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/luzeduardo/rust-exercises on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/luzeduardo/rust-exercises 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 76b4acead58038f0047fbb2198e8ee32c1fa690da5f8a117f5e7cf356aa69210
[INFO] running `Command { std: "docker" "start" "-a" "76b4acead58038f0047fbb2198e8ee32c1fa690da5f8a117f5e7cf356aa69210", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76b4acead58038f0047fbb2198e8ee32c1fa690da5f8a117f5e7cf356aa69210", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76b4acead58038f0047fbb2198e8ee32c1fa690da5f8a117f5e7cf356aa69210", kill_on_drop: false }`
[INFO] [stdout] 76b4acead58038f0047fbb2198e8ee32c1fa690da5f8a117f5e7cf356aa69210
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f576e502479af40eb20548b890c4c88b2938079c0f42f0c9fdaed7ba86985e5
[INFO] running `Command { std: "docker" "start" "-a" "1f576e502479af40eb20548b890c4c88b2938079c0f42f0c9fdaed7ba86985e5", kill_on_drop: false }`
[INFO] [stderr]    Compiling exercises v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:493:6
[INFO] [stdout]     |
[INFO] [stdout] 493 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |         pub spells: Vec<Box<Cast>>,
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |         pub spells: Vec<Box<dyn Cast>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:30:27
[INFO] [stdout]    |
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]   --> src/main.rs:30:47
[INFO] [stdout]    |
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]   --> src/main.rs:31:55
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:32:45
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:33:62
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/main.rs:35:43
[INFO] [stdout]    |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/main.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |                                                 ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `character`
[INFO] [stdout]    --> src/main.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn speak_elvish<T: Elvish>(character: T) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/main.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     let len = String::from("Hola").len();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let mut a = String::new();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/main.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let s1 = String::from("raise error if access by index");
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let mut a = String::new();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]    --> src/main.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let integer = Point { x: 1, y: 2 };
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]    --> src/main.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |     let float = Point { x: 1.0, y: 2.1 };
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer_float`
[INFO] [stdout]    --> src/main.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |     let integer_float = AreaGenerics { x: 1, y: 4.5 };
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Debugger` is never used
[INFO] [stdout]   --> src/main.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub trait Debugger {}
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Display` is never used
[INFO] [stdout]   --> src/main.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub trait Display {}
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub trait Summary {
[INFO] [stdout]    |               ------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |         fn notify(item: impl Summary) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |         fn notifyverbosemethodssignature<T: Summary>(item: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `returns_summarizable` is never used
[INFO] [stdout]   --> src/main.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn returns_summarizable() -> impl Summary {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewsArticle` is never constructed
[INFO] [stdout]   --> src/main.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub struct NewsArticle {
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reply` and `retweet` are never read
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub struct Tweet {
[INFO] [stdout]    |                ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |         pub reply: bool,
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 68 |         pub retweet: bool,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_trait_objects` is never used
[INFO] [stdout]   --> src/main.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn testing_trait_objects() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 120 |     impl Spellbook {
[INFO] [stdout]     |     -------------- method in this implementation
[INFO] [stdout] 121 |         pub fn run(&self) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]    --> src/main.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     impl<T> PointerTrait<T> {
[INFO] [stdout]     |     ----------------------- method in this implementation
[INFO] [stdout] 163 |         fn x(&self) -> &T {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance_from_origin` is never used
[INFO] [stdout]    --> src/main.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 168 |     impl PointerTrait<f32> {
[INFO] [stdout]     |     ---------------------- method in this implementation
[INFO] [stdout] 169 |         fn distance_from_origin(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_traits` is never used
[INFO] [stdout]    --> src/main.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn testing_traits() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_hash_map` is never used
[INFO] [stdout]    --> src/main.rs:278:4
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn testing_hash_map() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_internal_representation_of_string` is never used
[INFO] [stdout]    --> src/main.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn testing_internal_representation_of_string() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_strings` is never used
[INFO] [stdout]    --> src/main.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn testing_strings() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_vector` is never used
[INFO] [stdout]    --> src/main.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn testing_vector() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/main.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_refactoring_struct_tuples` is never used
[INFO] [stdout]    --> src/main.rs:389:4
[INFO] [stdout]     |
[INFO] [stdout] 389 | fn testing_refactoring_struct_tuples() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `area` and `square` are never used
[INFO] [stdout]    --> src/main.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Rectangle {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 406 |     //defined as method in impl Rectangle Counttext  which receives self as ref
[INFO] [stdout] 407 |     fn area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     fn square(size: u32) -> Rectangle {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_dangle_error` is never used
[INFO] [stdout]    --> src/main.rs:422:4
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn testing_dangle_error() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dangle_error` is never used
[INFO] [stdout]    --> src/main.rs:427:4
[INFO] [stdout]     |
[INFO] [stdout] 427 | fn dangle_error() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `area` is never used
[INFO] [stdout]    --> src/main.rs:436:4
[INFO] [stdout]     |
[INFO] [stdout] 436 | fn area(rectangle: &Rectangle) -> u32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_takes_ownership` is never used
[INFO] [stdout]    --> src/main.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn testing_takes_ownership() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `takes_ownership` is never used
[INFO] [stdout]    --> src/main.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn takes_ownership(somestring: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makes_copy` is never used
[INFO] [stdout]    --> src/main.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 | fn makes_copy(example_integer: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_owner_refs` is never used
[INFO] [stdout]    --> src/main.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn testing_owner_refs() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_structs` is never used
[INFO] [stdout]    --> src/main.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn testing_structs() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn first_word(s: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change` is never used
[INFO] [stdout]    --> src/main.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn change(s: &mut String) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_length_with_reference` is never used
[INFO] [stdout]    --> src/main.rs:520:4
[INFO] [stdout]     |
[INFO] [stdout] 520 | fn calculate_length_with_reference(s: &String) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gives_ownership` is never used
[INFO] [stdout]    --> src/main.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn gives_ownership() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `takes_and_gives_back_ownership` is never used
[INFO] [stdout]    --> src/main.rs:529:4
[INFO] [stdout]     |
[INFO] [stdout] 529 | fn takes_and_gives_back_ownership(a_string: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `notifymultipleTraitsWithPLusSign` should have a snake case name
[INFO] [stdout]   --> src/main.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `notifymultiple_traits_with_plus_sign`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] running `Command { std: "docker" "inspect" "1f576e502479af40eb20548b890c4c88b2938079c0f42f0c9fdaed7ba86985e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f576e502479af40eb20548b890c4c88b2938079c0f42f0c9fdaed7ba86985e5", kill_on_drop: false }`
[INFO] [stdout] 1f576e502479af40eb20548b890c4c88b2938079c0f42f0c9fdaed7ba86985e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e96dd3d6ab7ebaaf1a93ff5f95850d3fce70dcc1f4c794c8e3c877a401ee6ba
[INFO] running `Command { std: "docker" "start" "-a" "0e96dd3d6ab7ebaaf1a93ff5f95850d3fce70dcc1f4c794c8e3c877a401ee6ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling exercises v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:493:6
[INFO] [stdout]     |
[INFO] [stdout] 493 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |         pub spells: Vec<Box<Cast>>,
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |         pub spells: Vec<Box<dyn Cast>>,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:30:27
[INFO] [stdout]    |
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]   --> src/main.rs:30:47
[INFO] [stdout]    |
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]   --> src/main.rs:31:55
[INFO] [stdout]    |
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:32:45
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:33:62
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/main.rs:35:43
[INFO] [stdout]    |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/main.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |                                                 ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `character`
[INFO] [stdout]    --> src/main.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn speak_elvish<T: Elvish>(character: T) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/main.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     let len = String::from("Hola").len();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/main.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let mut a = String::new();
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]    --> src/main.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let s1 = String::from("raise error if access by index");
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let mut a = String::new();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]    --> src/main.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let integer = Point { x: 1, y: 2 };
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]    --> src/main.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |     let float = Point { x: 1.0, y: 2.1 };
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer_float`
[INFO] [stdout]    --> src/main.rs:486:9
[INFO] [stdout]     |
[INFO] [stdout] 486 |     let integer_float = AreaGenerics { x: 1, y: 4.5 };
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Debugger` is never used
[INFO] [stdout]   --> src/main.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub trait Debugger {}
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Display` is never used
[INFO] [stdout]   --> src/main.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub trait Display {}
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub trait Summary {
[INFO] [stdout]    |               ------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |         fn notify(item: impl Summary) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |         fn notifyverbosemethodssignature<T: Summary>(item: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `returns_summarizable` is never used
[INFO] [stdout]   --> src/main.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn returns_summarizable() -> impl Summary {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewsArticle` is never constructed
[INFO] [stdout]   --> src/main.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub struct NewsArticle {
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reply` and `retweet` are never read
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub struct Tweet {
[INFO] [stdout]    |                ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |         pub reply: bool,
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 68 |         pub retweet: bool,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_trait_objects` is never used
[INFO] [stdout]   --> src/main.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn testing_trait_objects() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 120 |     impl Spellbook {
[INFO] [stdout]     |     -------------- method in this implementation
[INFO] [stdout] 121 |         pub fn run(&self) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]    --> src/main.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     impl<T> PointerTrait<T> {
[INFO] [stdout]     |     ----------------------- method in this implementation
[INFO] [stdout] 163 |         fn x(&self) -> &T {
[INFO] [stdout]     |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance_from_origin` is never used
[INFO] [stdout]    --> src/main.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 168 |     impl PointerTrait<f32> {
[INFO] [stdout]     |     ---------------------- method in this implementation
[INFO] [stdout] 169 |         fn distance_from_origin(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_traits` is never used
[INFO] [stdout]    --> src/main.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn testing_traits() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_hash_map` is never used
[INFO] [stdout]    --> src/main.rs:278:4
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn testing_hash_map() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_internal_representation_of_string` is never used
[INFO] [stdout]    --> src/main.rs:322:4
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn testing_internal_representation_of_string() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_strings` is never used
[INFO] [stdout]    --> src/main.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn testing_strings() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_vector` is never used
[INFO] [stdout]    --> src/main.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn testing_vector() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]    --> src/main.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | struct Rectangle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_refactoring_struct_tuples` is never used
[INFO] [stdout]    --> src/main.rs:389:4
[INFO] [stdout]     |
[INFO] [stdout] 389 | fn testing_refactoring_struct_tuples() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `area` and `square` are never used
[INFO] [stdout]    --> src/main.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Rectangle {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 406 |     //defined as method in impl Rectangle Counttext  which receives self as ref
[INFO] [stdout] 407 |     fn area(&self) -> u32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     fn square(size: u32) -> Rectangle {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_dangle_error` is never used
[INFO] [stdout]    --> src/main.rs:422:4
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn testing_dangle_error() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dangle_error` is never used
[INFO] [stdout]    --> src/main.rs:427:4
[INFO] [stdout]     |
[INFO] [stdout] 427 | fn dangle_error() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `area` is never used
[INFO] [stdout]    --> src/main.rs:436:4
[INFO] [stdout]     |
[INFO] [stdout] 436 | fn area(rectangle: &Rectangle) -> u32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_takes_ownership` is never used
[INFO] [stdout]    --> src/main.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn testing_takes_ownership() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `takes_ownership` is never used
[INFO] [stdout]    --> src/main.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn takes_ownership(somestring: String) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `makes_copy` is never used
[INFO] [stdout]    --> src/main.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 | fn makes_copy(example_integer: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_owner_refs` is never used
[INFO] [stdout]    --> src/main.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn testing_owner_refs() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testing_structs` is never used
[INFO] [stdout]    --> src/main.rs:474:4
[INFO] [stdout]     |
[INFO] [stdout] 474 | fn testing_structs() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_word` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn first_word(s: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change` is never used
[INFO] [stdout]    --> src/main.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn change(s: &mut String) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_length_with_reference` is never used
[INFO] [stdout]    --> src/main.rs:520:4
[INFO] [stdout]     |
[INFO] [stdout] 520 | fn calculate_length_with_reference(s: &String) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gives_ownership` is never used
[INFO] [stdout]    --> src/main.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn gives_ownership() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `takes_and_gives_back_ownership` is never used
[INFO] [stdout]    --> src/main.rs:529:4
[INFO] [stdout]     |
[INFO] [stdout] 529 | fn takes_and_gives_back_ownership(a_string: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `notifymultipleTraitsWithPLusSign` should have a snake case name
[INFO] [stdout]   --> src/main.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `notifymultiple_traits_with_plus_sign`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] running `Command { std: "docker" "inspect" "0e96dd3d6ab7ebaaf1a93ff5f95850d3fce70dcc1f4c794c8e3c877a401ee6ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e96dd3d6ab7ebaaf1a93ff5f95850d3fce70dcc1f4c794c8e3c877a401ee6ba", kill_on_drop: false }`
[INFO] [stdout] 0e96dd3d6ab7ebaaf1a93ff5f95850d3fce70dcc1f4c794c8e3c877a401ee6ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1adaa90b7d6348d95fb2a0a5735ed9afd2603f0a43c84dd26525c9e97c0e65b1
[INFO] running `Command { std: "docker" "start" "-a" "1adaa90b7d6348d95fb2a0a5735ed9afd2603f0a43c84dd26525c9e97c0e65b1", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/main.rs:493:6
[INFO] [stderr]     |
[INFO] [stderr] 493 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/main.rs:117:29
[INFO] [stderr]     |
[INFO] [stderr] 117 |         pub spells: Vec<Box<Cast>>,
[INFO] [stderr]     |                             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 117 |         pub spells: Vec<Box<dyn Cast>>,
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/main.rs:30:27
[INFO] [stderr]    |
[INFO] [stderr] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stderr]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item2`
[INFO] [stderr]   --> src/main.rs:30:47
[INFO] [stderr]    |
[INFO] [stderr] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stderr]    |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/main.rs:31:46
[INFO] [stderr]    |
[INFO] [stderr] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stderr]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item2`
[INFO] [stderr]   --> src/main.rs:31:55
[INFO] [stderr]    |
[INFO] [stderr] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stderr]    |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/main.rs:32:45
[INFO] [stderr]    |
[INFO] [stderr] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stderr]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/main.rs:33:62
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stderr]    |                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> src/main.rs:35:43
[INFO] [stderr]    |
[INFO] [stderr] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stderr]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `u`
[INFO] [stderr]   --> src/main.rs:35:49
[INFO] [stderr]    |
[INFO] [stderr] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stderr]    |                                                 ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `character`
[INFO] [stderr]    --> src/main.rs:214:36
[INFO] [stderr]     |
[INFO] [stderr] 214 |     pub fn speak_elvish<T: Elvish>(character: T) -> String {
[INFO] [stderr]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]    --> src/main.rs:323:9
[INFO] [stderr]     |
[INFO] [stderr] 323 |     let len = String::from("Hola").len();
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/main.rs:327:13
[INFO] [stderr]     |
[INFO] [stderr] 327 |     let mut a = String::new();
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s1`
[INFO] [stderr]    --> src/main.rs:332:9
[INFO] [stderr]     |
[INFO] [stderr] 332 |     let s1 = String::from("raise error if access by index");
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:327:9
[INFO] [stderr]     |
[INFO] [stderr] 327 |     let mut a = String::new();
[INFO] [stderr]     |         ----^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `integer`
[INFO] [stderr]    --> src/main.rs:479:9
[INFO] [stderr]     |
[INFO] [stderr] 479 |     let integer = Point { x: 1, y: 2 };
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `float`
[INFO] [stderr]    --> src/main.rs:480:9
[INFO] [stderr]     |
[INFO] [stderr] 480 |     let float = Point { x: 1.0, y: 2.1 };
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `integer_float`
[INFO] [stderr]    --> src/main.rs:486:9
[INFO] [stderr]     |
[INFO] [stderr] 486 |     let integer_float = AreaGenerics { x: 1, y: 4.5 };
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer_float`
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Debugger` is never used
[INFO] [stderr]   --> src/main.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub trait Debugger {}
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Display` is never used
[INFO] [stderr]   --> src/main.rs:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub trait Display {}
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]   --> src/main.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub trait Summary {
[INFO] [stderr]    |               ------- associated functions in this trait
[INFO] [stderr] ...
[INFO] [stderr] 22 |         fn notify(item: impl Summary) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |         fn notifyverbosemethodssignature<T: Summary>(item: T) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |         fn notifymultiple(item: impl Summary, item2: impl Summary) {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 31 |         fn notifymultipleverbose<T: Summary>(item: T, item2: T) {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |         fn notifymultipleverbosetraits<T: Summary + Display>(item: T) {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 34 |
[INFO] [stderr] 35 |         fn notify_with_where_clause<T, U>(t: T, u: U)
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `returns_summarizable` is never used
[INFO] [stderr]   --> src/main.rs:42:8
[INFO] [stderr]    |
[INFO] [stderr] 42 |     fn returns_summarizable() -> impl Summary {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NewsArticle` is never constructed
[INFO] [stderr]   --> src/main.rs:51:16
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub struct NewsArticle {
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `reply` and `retweet` are never read
[INFO] [stderr]   --> src/main.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub struct Tweet {
[INFO] [stderr]    |                ----- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 67 |         pub reply: bool,
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 68 |         pub retweet: bool,
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_trait_objects` is never used
[INFO] [stderr]   --> src/main.rs:87:4
[INFO] [stderr]    |
[INFO] [stderr] 87 | fn testing_trait_objects() {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `run` is never used
[INFO] [stderr]    --> src/main.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 120 |     impl Spellbook {
[INFO] [stderr]     |     -------------- method in this implementation
[INFO] [stderr] 121 |         pub fn run(&self) {
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `x` is never used
[INFO] [stderr]    --> src/main.rs:163:12
[INFO] [stderr]     |
[INFO] [stderr] 162 |     impl<T> PointerTrait<T> {
[INFO] [stderr]     |     ----------------------- method in this implementation
[INFO] [stderr] 163 |         fn x(&self) -> &T {
[INFO] [stderr]     |            ^
[INFO] [stderr] 
[INFO] [stderr] warning: method `distance_from_origin` is never used
[INFO] [stderr]    --> src/main.rs:169:12
[INFO] [stderr]     |
[INFO] [stderr] 168 |     impl PointerTrait<f32> {
[INFO] [stderr]     |     ---------------------- method in this implementation
[INFO] [stderr] 169 |         fn distance_from_origin(&self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_traits` is never used
[INFO] [stderr]    --> src/main.rs:185:4
[INFO] [stderr]     |
[INFO] [stderr] 185 | fn testing_traits() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_hash_map` is never used
[INFO] [stderr]    --> src/main.rs:278:4
[INFO] [stderr]     |
[INFO] [stderr] 278 | fn testing_hash_map() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_internal_representation_of_string` is never used
[INFO] [stderr]    --> src/main.rs:322:4
[INFO] [stderr]     |
[INFO] [stderr] 322 | fn testing_internal_representation_of_string() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_strings` is never used
[INFO] [stderr]    --> src/main.rs:326:4
[INFO] [stderr]     |
[INFO] [stderr] 326 | fn testing_strings() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_vector` is never used
[INFO] [stderr]    --> src/main.rs:347:4
[INFO] [stderr]     |
[INFO] [stderr] 347 | fn testing_vector() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rectangle` is never constructed
[INFO] [stderr]    --> src/main.rs:385:8
[INFO] [stderr]     |
[INFO] [stderr] 385 | struct Rectangle {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_refactoring_struct_tuples` is never used
[INFO] [stderr]    --> src/main.rs:389:4
[INFO] [stderr]     |
[INFO] [stderr] 389 | fn testing_refactoring_struct_tuples() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `area` and `square` are never used
[INFO] [stderr]    --> src/main.rs:407:8
[INFO] [stderr]     |
[INFO] [stderr] 405 | impl Rectangle {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 406 |     //defined as method in impl Rectangle Counttext  which receives self as ref
[INFO] [stderr] 407 |     fn area(&self) -> u32 {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 414 |     fn square(size: u32) -> Rectangle {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_dangle_error` is never used
[INFO] [stderr]    --> src/main.rs:422:4
[INFO] [stderr]     |
[INFO] [stderr] 422 | fn testing_dangle_error() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dangle_error` is never used
[INFO] [stderr]    --> src/main.rs:427:4
[INFO] [stderr]     |
[INFO] [stderr] 427 | fn dangle_error() -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `area` is never used
[INFO] [stderr]    --> src/main.rs:436:4
[INFO] [stderr]     |
[INFO] [stderr] 436 | fn area(rectangle: &Rectangle) -> u32 {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_takes_ownership` is never used
[INFO] [stderr]    --> src/main.rs:440:4
[INFO] [stderr]     |
[INFO] [stderr] 440 | fn testing_takes_ownership() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `takes_ownership` is never used
[INFO] [stderr]    --> src/main.rs:450:4
[INFO] [stderr]     |
[INFO] [stderr] 450 | fn takes_ownership(somestring: String) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `makes_copy` is never used
[INFO] [stderr]    --> src/main.rs:453:4
[INFO] [stderr]     |
[INFO] [stderr] 453 | fn makes_copy(example_integer: u32) {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_owner_refs` is never used
[INFO] [stderr]    --> src/main.rs:457:4
[INFO] [stderr]     |
[INFO] [stderr] 457 | fn testing_owner_refs() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testing_structs` is never used
[INFO] [stderr]    --> src/main.rs:474:4
[INFO] [stderr]     |
[INFO] [stderr] 474 | fn testing_structs() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `first_word` is never used
[INFO] [stderr]    --> src/main.rs:506:4
[INFO] [stderr]     |
[INFO] [stderr] 506 | fn first_word(s: &str) -> &str {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `change` is never used
[INFO] [stderr]    --> src/main.rs:516:4
[INFO] [stderr]     |
[INFO] [stderr] 516 | fn change(s: &mut String) {
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_length_with_reference` is never used
[INFO] [stderr]    --> src/main.rs:520:4
[INFO] [stderr]     |
[INFO] [stderr] 520 | fn calculate_length_with_reference(s: &String) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `gives_ownership` is never used
[INFO] [stderr]    --> src/main.rs:524:4
[INFO] [stderr]     |
[INFO] [stderr] 524 | fn gives_ownership() -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `takes_and_gives_back_ownership` is never used
[INFO] [stderr]    --> src/main.rs:529:4
[INFO] [stderr]     |
[INFO] [stderr] 529 | fn takes_and_gives_back_ownership(a_string: String) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait method `notifymultipleTraitsWithPLusSign` should have a snake case name
[INFO] [stderr]   --> src/main.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 |         fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {}
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `notifymultiple_traits_with_plus_sign`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `exercises` (bin "exercises" test) generated 50 warnings (run `cargo fix --bin "exercises" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/exercises-e532bfe8eeb1a1c9)
[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] running `Command { std: "docker" "inspect" "1adaa90b7d6348d95fb2a0a5735ed9afd2603f0a43c84dd26525c9e97c0e65b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1adaa90b7d6348d95fb2a0a5735ed9afd2603f0a43c84dd26525c9e97c0e65b1", kill_on_drop: false }`
[INFO] [stdout] 1adaa90b7d6348d95fb2a0a5735ed9afd2603f0a43c84dd26525c9e97c0e65b1
