[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>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub spells: Vec>, [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(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(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(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: 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: 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(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(item: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn notifymultiple(item: impl Summary, item2: impl Summary) {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 31 | fn notifymultipleverbose(item: T, item2: T) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | fn notifymultipleverbosetraits(item: T) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | [INFO] [stdout] 35 | fn notify_with_where_clause(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 PointerTrait { [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 { [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>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | pub spells: Vec>, [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(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(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(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: 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: 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(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(item: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn notifymultiple(item: impl Summary, item2: impl Summary) {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 31 | fn notifymultipleverbose(item: T, item2: T) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | fn notifymultipleverbosetraits(item: T) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | [INFO] [stdout] 35 | fn notify_with_where_clause(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 PointerTrait { [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 { [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>, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 117 | pub spells: Vec>, [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(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(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(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: 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: 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(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(item: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | fn notifymultiple(item: impl Summary, item2: impl Summary) {} [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 31 | fn notifymultipleverbose(item: T, item2: T) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 32 | fn notifymultipleTraitsWithPLusSign(item: impl Summary + Display) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 33 | fn notifymultipleverbosetraits(item: T) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 34 | [INFO] [stderr] 35 | fn notify_with_where_clause(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 PointerTrait { [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 { [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