[INFO] cloning repository https://github.com/ZelphirKaltstahl/RustGtkApp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ZelphirKaltstahl/RustGtkApp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZelphirKaltstahl%2FRustGtkApp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZelphirKaltstahl%2FRustGtkApp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc87ea67911589eac771e91abb2990f396f02a8a
[INFO] testing ZelphirKaltstahl/RustGtkApp against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZelphirKaltstahl%2FRustGtkApp" "/workspace/builds/worker-4/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ZelphirKaltstahl/RustGtkApp on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ZelphirKaltstahl/RustGtkApp
[INFO] finished tweaking git repo https://github.com/ZelphirKaltstahl/RustGtkApp
[INFO] tweaked toml for git repo https://github.com/ZelphirKaltstahl/RustGtkApp written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/ZelphirKaltstahl/RustGtkApp already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 223a10248519ee85583d0d4f8ccb6d630d33d6dbc7509218ab7f1d0eb45617e2
[INFO] running `Command { std: "docker" "start" "-a" "223a10248519ee85583d0d4f8ccb6d630d33d6dbc7509218ab7f1d0eb45617e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "223a10248519ee85583d0d4f8ccb6d630d33d6dbc7509218ab7f1d0eb45617e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "223a10248519ee85583d0d4f8ccb6d630d33d6dbc7509218ab7f1d0eb45617e2", kill_on_drop: false }`
[INFO] [stdout] 223a10248519ee85583d0d4f8ccb6d630d33d6dbc7509218ab7f1d0eb45617e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 93dd103c5a211a86305ba62b96865911fc073fbb1a0cddebf757fcecf0fec7d7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "93dd103c5a211a86305ba62b96865911fc073fbb1a0cddebf757fcecf0fec7d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling cairo-rs v0.2.0
[INFO] [stderr]    Compiling gdk-pixbuf v0.2.0
[INFO] [stderr]    Compiling gio v0.2.0
[INFO] [stderr]    Compiling gdk v0.6.0
[INFO] [stderr]    Compiling c_vec v1.2.1
[INFO] [stderr]    Compiling gtk v0.2.0
[INFO] [stderr]    Compiling glib-sys v0.4.0
[INFO] [stderr]    Compiling gobject-sys v0.4.0
[INFO] [stderr]    Compiling gio-sys v0.4.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.4.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.4.0
[INFO] [stderr]    Compiling pango-sys v0.4.0
[INFO] [stderr]    Compiling gdk-sys v0.4.0
[INFO] [stderr]    Compiling atk-sys v0.4.0
[INFO] [stderr]    Compiling gtk-sys v0.4.0
[INFO] [stderr]    Compiling memchr v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.3
[INFO] [stderr]    Compiling csv v0.15.0
[INFO] [stderr]    Compiling glib v0.3.1
[INFO] [stderr]    Compiling pango v0.2.0
[INFO] [stderr]    Compiling vocabulary_trainer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Container`
[INFO] [stdout]   --> src/include/voc_notebook.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Box, Button, Container, IconSize, Image, Label, Notebook, Orientation, ReliefStyle, Widget};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextTagTable`
[INFO] [stdout]  --> src/include/voc_textview.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TextTagTable
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ListStore`, `TreeModel`
[INFO] [stdout]  --> src/include/voc_treeview.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ListStore,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 9 |     TreeModel,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/include/voc_treeview.rs:137:64
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/include/voc_treeview.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |             |item| item as &gtk::ToValue
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/main.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / macro_rules! hashmap {
[INFO] [stdout] 28 | |     ($( $key: expr => $val: expr ),*) => {{
[INFO] [stdout] 29 | |          let mut map = ::std::collections::HashMap::new();
[INFO] [stdout] 30 | |          $( map.insert($key, $val); )*
[INFO] [stdout] 31 | |          map
[INFO] [stdout] 32 | |     }}
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_tab_index`
[INFO] [stdout]    --> src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let library_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_tab_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `training_tab_index`
[INFO] [stdout]    --> src/main.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let training_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_training_tab_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statistics_tab_index`
[INFO] [stdout]    --> src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let statistics_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statistics_tab_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_id`
[INFO] [stdout]   --> src/include/voc_statusbar.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let message_id: u32 = self.status_bar.push(context_id, &status_message.message);
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `characters`
[INFO] [stdout]   --> src/include/voc_textview.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_characters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/include/voc_status_message.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new(message: String, context: String) -> VocStatusMessage {
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `VocTextView`
[INFO] [stdout]   --> src/include/voc_textview.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct VocTextView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/include/voc_textview.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> VocTextView {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_with_characters`
[INFO] [stdout]   --> src/include/voc_textview.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `write_data`
[INFO] [stdout]  --> src/csv_reading_and_writing.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn write_data(file_path: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `read_data`
[INFO] [stdout]   --> src/csv_reading_and_writing.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn read_data(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/include/voc_treeview.rs:99:17
[INFO] [stdout]     |
[INFO] [stdout] 99  | /                 format!("number of language ids is not equal to number of language names.{}",
[INFO] [stdout] 100 | |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stdout] 101 | |                                 lang_ids.len(),
[INFO] [stdout] 102 | |                                 lang_names.len())));
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the assert!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 99  |                 "number of language ids is not equal to number of language names.{}",
[INFO] [stdout] 100 |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stdout] 101 |                                 lang_ids.len(),
[INFO] [stdout] 102 |                                 lang_names.len()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string_to_ToValue` should have a snake case name
[INFO] [stdout]    --> src/include/voc_treeview.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_to_to_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "93dd103c5a211a86305ba62b96865911fc073fbb1a0cddebf757fcecf0fec7d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93dd103c5a211a86305ba62b96865911fc073fbb1a0cddebf757fcecf0fec7d7", kill_on_drop: false }`
[INFO] [stdout] 93dd103c5a211a86305ba62b96865911fc073fbb1a0cddebf757fcecf0fec7d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cab3f9fa9576784e0f702ca4cd990e1fd96d3ee3c17e8a8a57ce7bfff99bbf8f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "cab3f9fa9576784e0f702ca4cd990e1fd96d3ee3c17e8a8a57ce7bfff99bbf8f", kill_on_drop: false }`
[INFO] [stderr]    Compiling vocabulary_trainer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Container`
[INFO] [stdout]   --> src/include/voc_notebook.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Box, Button, Container, IconSize, Image, Label, Notebook, Orientation, ReliefStyle, Widget};
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TextTagTable`
[INFO] [stdout]  --> src/include/voc_textview.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TextTagTable
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ListStore`, `TreeModel`
[INFO] [stdout]  --> src/include/voc_treeview.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ListStore,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 9 |     TreeModel,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/include/voc_treeview.rs:137:64
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/include/voc_treeview.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |             |item| item as &gtk::ToValue
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/main.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / macro_rules! hashmap {
[INFO] [stdout] 28 | |     ($( $key: expr => $val: expr ),*) => {{
[INFO] [stdout] 29 | |          let mut map = ::std::collections::HashMap::new();
[INFO] [stdout] 30 | |          $( map.insert($key, $val); )*
[INFO] [stdout] 31 | |          map
[INFO] [stdout] 32 | |     }}
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `library_tab_index`
[INFO] [stdout]    --> src/main.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let library_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_tab_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `training_tab_index`
[INFO] [stdout]    --> src/main.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let training_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_training_tab_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statistics_tab_index`
[INFO] [stdout]    --> src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let statistics_tab_index : u32 = notebook.create_tab(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statistics_tab_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_id`
[INFO] [stdout]   --> src/include/voc_statusbar.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let message_id: u32 = self.status_bar.push(context_id, &status_message.message);
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `characters`
[INFO] [stdout]   --> src/include/voc_textview.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_characters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/include/voc_status_message.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new(message: String, context: String) -> VocStatusMessage {
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `VocTextView`
[INFO] [stdout]   --> src/include/voc_textview.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct VocTextView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/include/voc_textview.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> VocTextView {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_with_characters`
[INFO] [stdout]   --> src/include/voc_textview.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `write_data`
[INFO] [stdout]  --> src/csv_reading_and_writing.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn write_data(file_path: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `read_data`
[INFO] [stdout]   --> src/csv_reading_and_writing.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn read_data(file_path: &str) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/include/voc_treeview.rs:99:17
[INFO] [stdout]     |
[INFO] [stdout] 99  | /                 format!("number of language ids is not equal to number of language names.{}",
[INFO] [stdout] 100 | |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stdout] 101 | |                                 lang_ids.len(),
[INFO] [stdout] 102 | |                                 lang_names.len())));
[INFO] [stdout]     | |__________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the assert!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 99  |                 "number of language ids is not equal to number of language names.{}",
[INFO] [stdout] 100 |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stdout] 101 |                                 lang_ids.len(),
[INFO] [stdout] 102 |                                 lang_names.len()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string_to_ToValue` should have a snake case name
[INFO] [stdout]    --> src/include/voc_treeview.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_to_to_value`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.30s
[INFO] running `Command { std: "docker" "inspect" "cab3f9fa9576784e0f702ca4cd990e1fd96d3ee3c17e8a8a57ce7bfff99bbf8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cab3f9fa9576784e0f702ca4cd990e1fd96d3ee3c17e8a8a57ce7bfff99bbf8f", kill_on_drop: false }`
[INFO] [stdout] cab3f9fa9576784e0f702ca4cd990e1fd96d3ee3c17e8a8a57ce7bfff99bbf8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e7189e1a2e8294fc5e66c70e781589c7dabf6a6b79220154ab847a43375c805
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5e7189e1a2e8294fc5e66c70e781589c7dabf6a6b79220154ab847a43375c805", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Container`
[INFO] [stderr]   --> src/include/voc_notebook.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Box, Button, Container, IconSize, Image, Label, Notebook, Orientation, ReliefStyle, Widget};
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TextTagTable`
[INFO] [stderr]  --> src/include/voc_textview.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     TextTagTable
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ListStore`, `TreeModel`
[INFO] [stderr]  --> src/include/voc_treeview.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     ListStore,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 9 |     TreeModel,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/include/voc_treeview.rs:137:64
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/include/voc_treeview.rs:139:29
[INFO] [stderr]     |
[INFO] [stderr] 139 |             |item| item as &gtk::ToValue
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: use `dyn`: `dyn gtk::ToValue`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/main.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | / macro_rules! hashmap {
[INFO] [stderr] 28 | |     ($( $key: expr => $val: expr ),*) => {{
[INFO] [stderr] 29 | |          let mut map = ::std::collections::HashMap::new();
[INFO] [stderr] 30 | |          $( map.insert($key, $val); )*
[INFO] [stderr] 31 | |          map
[INFO] [stderr] 32 | |     }}
[INFO] [stderr] 33 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `library_tab_index`
[INFO] [stderr]    --> src/main.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 142 |     let library_tab_index : u32 = notebook.create_tab(
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_library_tab_index`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `training_tab_index`
[INFO] [stderr]    --> src/main.rs:145:9
[INFO] [stderr]     |
[INFO] [stderr] 145 |     let training_tab_index : u32 = notebook.create_tab(
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_training_tab_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `statistics_tab_index`
[INFO] [stderr]    --> src/main.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 148 |     let statistics_tab_index : u32 = notebook.create_tab(
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statistics_tab_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message_id`
[INFO] [stderr]   --> src/include/voc_statusbar.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let message_id: u32 = self.status_bar.push(context_id, &status_message.message);
[INFO] [stderr]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `characters`
[INFO] [stderr]   --> src/include/voc_textview.rs:27:32
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stderr]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_characters`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]  --> src/include/voc_status_message.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn new(message: String, context: String) -> VocStatusMessage {
[INFO] [stderr]   |            ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `VocTextView`
[INFO] [stderr]   --> src/include/voc_textview.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct VocTextView {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/include/voc_textview.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn new() -> VocTextView {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_with_characters`
[INFO] [stderr]   --> src/include/voc_textview.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn new_with_characters(characters: String) -> VocTextView {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `write_data`
[INFO] [stderr]  --> src/csv_reading_and_writing.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn write_data(file_path: &str) {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `read_data`
[INFO] [stderr]   --> src/csv_reading_and_writing.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn read_data(file_path: &str) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/include/voc_treeview.rs:99:17
[INFO] [stderr]     |
[INFO] [stderr] 99  | /                 format!("number of language ids is not equal to number of language names.{}",
[INFO] [stderr] 100 | |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stderr] 101 | |                                 lang_ids.len(),
[INFO] [stderr] 102 | |                                 lang_names.len())));
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[INFO] [stderr]     = note: the assert!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 99  |                 "number of language ids is not equal to number of language names.{}",
[INFO] [stderr] 100 |                         format!("lang_ids has length: {} lang_names has length: {}",
[INFO] [stderr] 101 |                                 lang_ids.len(),
[INFO] [stderr] 102 |                                 lang_names.len()));
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: method `string_to_ToValue` should have a snake case name
[INFO] [stderr]    --> src/include/voc_treeview.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn string_to_ToValue(values_vector: &[String]) -> Vec<&gtk::ToValue> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `string_to_to_value`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 19 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/vocabulary_trainer-745208883c609825)
[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" "5e7189e1a2e8294fc5e66c70e781589c7dabf6a6b79220154ab847a43375c805", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e7189e1a2e8294fc5e66c70e781589c7dabf6a6b79220154ab847a43375c805", kill_on_drop: false }`
[INFO] [stdout] 5e7189e1a2e8294fc5e66c70e781589c7dabf6a6b79220154ab847a43375c805
