[INFO] cloning repository https://github.com/Brennon-Oliveira/gustav-chatbot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Brennon-Oliveira/gustav-chatbot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrennon-Oliveira%2Fgustav-chatbot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrennon-Oliveira%2Fgustav-chatbot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c747d7609ad983e32235f062cbfa0795b6afab5d
[INFO] checking Brennon-Oliveira/gustav-chatbot against try#44f3504e96c944ae54fc72b5f5008f53f7eda001 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBrennon-Oliveira%2Fgustav-chatbot" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Brennon-Oliveira/gustav-chatbot on toolchain 44f3504e96c944ae54fc72b5f5008f53f7eda001
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Brennon-Oliveira/gustav-chatbot
[INFO] finished tweaking git repo https://github.com/Brennon-Oliveira/gustav-chatbot
[INFO] tweaked toml for git repo https://github.com/Brennon-Oliveira/gustav-chatbot written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Brennon-Oliveira/gustav-chatbot 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" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9dfa9b82dcd7c0493fbd6f371c7ae41721f3d881957115aabf50de2c88ee1502
[INFO] running `Command { std: "docker" "start" "-a" "9dfa9b82dcd7c0493fbd6f371c7ae41721f3d881957115aabf50de2c88ee1502", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9dfa9b82dcd7c0493fbd6f371c7ae41721f3d881957115aabf50de2c88ee1502", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9dfa9b82dcd7c0493fbd6f371c7ae41721f3d881957115aabf50de2c88ee1502", kill_on_drop: false }`
[INFO] [stdout] 9dfa9b82dcd7c0493fbd6f371c7ae41721f3d881957115aabf50de2c88ee1502
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eccb9c91a3c65af61d702959ffdc9f5f650ff80c29acc78423dd814a7f8555c1
[INFO] running `Command { std: "docker" "start" "-a" "eccb9c91a3c65af61d702959ffdc9f5f650ff80c29acc78423dd814a7f8555c1", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling winnow v0.5.0
[INFO] [stderr]    Compiling target-lexicon v0.12.9
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.65
[INFO] [stderr]    Compiling quote v1.0.30
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling cfg-expr v0.15.3
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling syn v2.0.26
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling thiserror v1.0.43
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling gio v0.17.10
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling gtk v0.17.1
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling serde_spanned v0.6.3
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.43
[INFO] [stderr]    Compiling toml v0.7.6
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling system-deps v6.1.1
[INFO] [stderr]    Compiling glib-macros v0.17.10
[INFO] [stderr]    Compiling gtk3-macros v0.17.1
[INFO] [stderr]    Compiling glib-sys v0.17.10
[INFO] [stderr]    Compiling gobject-sys v0.17.10
[INFO] [stderr]    Compiling gio-sys v0.17.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.17.10
[INFO] [stderr]    Compiling atk-sys v0.17.0
[INFO] [stderr]    Compiling gdk-sys v0.17.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.17.10
[INFO] [stderr]    Compiling pango-sys v0.17.10
[INFO] [stderr]    Compiling gtk-sys v0.17.0
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking glib v0.17.10
[INFO] [stderr]     Checking cairo-rs v0.17.10
[INFO] [stderr]     Checking atk v0.17.1
[INFO] [stderr]     Checking pango v0.17.10
[INFO] [stderr]     Checking gdk-pixbuf v0.17.10
[INFO] [stderr]     Checking gdk v0.17.1
[INFO] [stderr]     Checking ChatBot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `WidgetExt`
[INFO] [stdout]  --> src/entities/prompt_input.rs:2:57
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk::{Box,Entry as GtkEntry, traits::{ContainerExt, WidgetExt}};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gdk::keys`
[INFO] [stdout]  --> src/entities/keyboard_listener.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gdk::keys;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Box as BoxGtk`
[INFO] [stdout]  --> src/entities/keyboard_listener.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gtk::{Entry as GtkEntry, Window, Box as BoxGtk};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WidgetExt`
[INFO] [stdout]  --> src/entities/prompt_input.rs:2:57
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk::{Box,Entry as GtkEntry, traits::{ContainerExt, WidgetExt}};
[INFO] [stdout]   |                                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gdk::keys`
[INFO] [stdout]  --> src/entities/keyboard_listener.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gdk::keys;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Box as BoxGtk`
[INFO] [stdout]  --> src/entities/keyboard_listener.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gtk::{Entry as GtkEntry, Window, Box as BoxGtk};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/keyboard_listener.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 |         if(key_code == ENTER){
[INFO] [stdout]    |           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -         if(key_code == ENTER){
[INFO] [stdout] 42 +         if key_code == ENTER {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 |         if(question == "Olá"){
[INFO] [stdout]    |           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -         if(question == "Olá"){
[INFO] [stdout] 17 +         if question == "Olá" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if(question == "Tudo bem"){
[INFO] [stdout]    |           ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -         if(question == "Tudo bem"){
[INFO] [stdout] 20 +         if question == "Tudo bem" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/keyboard_listener.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 |         if(key_code == ENTER){
[INFO] [stdout]    |           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -         if(key_code == ENTER){
[INFO] [stdout] 42 +         if key_code == ENTER {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 |         if(question == "Olá"){
[INFO] [stdout]    |           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -         if(question == "Olá"){
[INFO] [stdout] 17 +         if question == "Olá" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if(question == "Tudo bem"){
[INFO] [stdout]    |           ^                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -         if(question == "Tudo bem"){
[INFO] [stdout] 20 +         if question == "Tudo bem" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if(question == "Qual o seu nome?"){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -         if(question == "Qual o seu nome?"){
[INFO] [stdout] 23 +         if question == "Qual o seu nome?" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if(question == "Qual o seu nome?"){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -         if(question == "Qual o seu nome?"){
[INFO] [stdout] 23 +         if question == "Qual o seu nome?" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if(question == "O que você faz?"){
[INFO] [stdout]    |           ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         if(question == "O que você faz?"){
[INFO] [stdout] 26 +         if question == "O que você faz?" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/robot.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if(question == "O que você faz?"){
[INFO] [stdout]    |           ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         if(question == "O que você faz?"){
[INFO] [stdout] 26 +         if question == "O que você faz?" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude`
[INFO] [stdout]  --> src/entities/prompt_input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chat_container_clone`
[INFO] [stdout]   --> src/entities/chat.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let chat_container_clone = Arc::clone(&chat_container);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chat_container_clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/chat.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let mut chat_container = self.chat_container.lock().unwrap();
[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 import: `gtk::prelude`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude`
[INFO] [stdout]  --> src/entities/prompt_input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chat_container_clone`
[INFO] [stdout]   --> src/entities/chat.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let chat_container_clone = Arc::clone(&chat_container);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chat_container_clone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut chat_container= Arc::new(Mutex::new(Chat::new(&main_container))); 
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actor` and `content` are never read
[INFO] [stdout]   --> src/entities/chat.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Message{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     actor: Actor,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     content: String
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getResponse` should have a snake case name
[INFO] [stdout]   --> src/entities/robot.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn getResponse(question: &str)->&str{
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `get_response`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/entities/robot.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         &mut self.chat.lock().unwrap().add_message(Actor::Bot, response);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let _ = &mut self.chat.lock().unwrap().add_message(Actor::Bot, response);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/chat.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |             let mut chat_container = self.chat_container.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut chat_container= Arc::new(Mutex::new(Chat::new(&main_container))); 
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actor` and `content` are never read
[INFO] [stdout]   --> src/entities/chat.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Message{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 10 |     actor: Actor,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     content: String
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getResponse` should have a snake case name
[INFO] [stdout]   --> src/entities/robot.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn getResponse(question: &str)->&str{
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to snake case: `get_response`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/entities/robot.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         &mut self.chat.lock().unwrap().add_message(Actor::Bot, response);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let _ = &mut self.chat.lock().unwrap().add_message(Actor::Bot, response);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "eccb9c91a3c65af61d702959ffdc9f5f650ff80c29acc78423dd814a7f8555c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eccb9c91a3c65af61d702959ffdc9f5f650ff80c29acc78423dd814a7f8555c1", kill_on_drop: false }`
[INFO] [stdout] eccb9c91a3c65af61d702959ffdc9f5f650ff80c29acc78423dd814a7f8555c1
