[INFO] fetching crate raudient 0.3.3...
[INFO] testing raudient-0.3.3 against 1.52.1 for beta-1.53-1
[INFO] extracting crate raudient 0.3.3 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate raudient 0.3.3 on toolchain 1.52.1
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate raudient 0.3.3
[INFO] finished tweaking crates.io crate raudient 0.3.3
[INFO] tweaked toml for crates.io crate raudient 0.3.3 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.52.1" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded encoding-index-korean v1.20141219.5
[INFO] [stderr]   Downloaded ascii v0.9.3
[INFO] [stderr]   Downloaded unreachable v1.0.0
[INFO] [stderr]   Downloaded combine v3.8.1
[INFO] [stderr]   Downloaded glib-sys v0.8.0
[INFO] [stderr]   Downloaded gobject-sys v0.8.0
[INFO] [stderr]   Downloaded pango-sys v0.8.0
[INFO] [stderr]   Downloaded pango v0.6.0
[INFO] [stderr]   Downloaded hostname v0.1.5
[INFO] [stderr]   Downloaded crossbeam-channel v0.3.9
[INFO] [stderr]   Downloaded encoding-index-japanese v1.20141219.5
[INFO] [stderr]   Downloaded gtk v0.6.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.6
[INFO] [stderr]   Downloaded encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]   Downloaded fragile v0.3.0
[INFO] [stderr]   Downloaded gtk-sys v0.8.0
[INFO] [stderr]   Downloaded encoding v0.2.33
[INFO] [stderr]   Downloaded atk-sys v0.8.0
[INFO] [stderr]   Downloaded gdk-pixbuf v0.6.0
[INFO] [stderr]   Downloaded gio v0.6.0
[INFO] [stderr]   Downloaded atk v0.6.0
[INFO] [stderr]   Downloaded encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]   Downloaded encoding_index_tests v0.1.4
[INFO] [stderr]   Downloaded gdk v0.10.0
[INFO] [stderr]   Downloaded cairo-rs v0.6.0
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.8.0
[INFO] [stderr]   Downloaded gdk-sys v0.8.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.8.0
[INFO] [stderr]   Downloaded gio-sys v0.8.0
[INFO] [stderr]   Downloaded env_logger v0.6.2
[INFO] [stderr]   Downloaded local-ip v0.1.0
[INFO] [stderr]   Downloaded glib v0.7.1
[INFO] [stderr]   Downloaded encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]   Downloaded winutil v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2cca238d4b98f3ac5761da44ca4d02cc5d15cc4d6b4f53c5d8756b76f86510f6
[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" "2cca238d4b98f3ac5761da44ca4d02cc5d15cc4d6b4f53c5d8756b76f86510f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2cca238d4b98f3ac5761da44ca4d02cc5d15cc4d6b4f53c5d8756b76f86510f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cca238d4b98f3ac5761da44ca4d02cc5d15cc4d6b4f53c5d8756b76f86510f6", kill_on_drop: false }`
[INFO] [stdout] 2cca238d4b98f3ac5761da44ca4d02cc5d15cc4d6b4f53c5d8756b76f86510f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+1.52.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86ce861116c31fdfb0be975e85f9885621564ee741647acfe20cafd90fe630d9
[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" "86ce861116c31fdfb0be975e85f9885621564ee741647acfe20cafd90fe630d9", kill_on_drop: false }`
[INFO] [stderr]    Compiling gio v0.6.0
[INFO] [stderr]    Compiling fragile v0.3.0
[INFO] [stderr]    Compiling cairo-rs v0.6.0
[INFO] [stderr]    Compiling pango v0.6.0
[INFO] [stderr]    Compiling gdk-pixbuf v0.6.0
[INFO] [stderr]    Compiling gdk v0.10.0
[INFO] [stderr]    Compiling atk v0.6.0
[INFO] [stderr]    Compiling gtk v0.6.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling glib-sys v0.8.0
[INFO] [stderr]    Compiling gobject-sys v0.8.0
[INFO] [stderr]    Compiling gio-sys v0.8.0
[INFO] [stderr]    Compiling pango-sys v0.8.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.8.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.8.0
[INFO] [stderr]    Compiling atk-sys v0.8.0
[INFO] [stderr]    Compiling gdk-sys v0.8.0
[INFO] [stderr]    Compiling gtk-sys v0.8.0
[INFO] [stderr]    Compiling hostname v0.1.5
[INFO] [stderr]    Compiling combine v3.8.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling os_type v2.2.0
[INFO] [stderr]    Compiling local-ip v0.1.0
[INFO] [stderr]    Compiling human-panic v1.0.3
[INFO] [stderr]    Compiling glib v0.7.1
[INFO] [stderr]    Compiling raudient v0.3.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]  --> src/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/model.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{PathBuf, Path};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/message.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/message.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/message.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::UdpSocket`
[INFO] [stdout]  --> src/message.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::UdpSocket;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DecoderTrap`, `EncoderTrap`, `Encoding`
[INFO] [stdout]  --> src/message.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use encoding::{Encoding, EncoderTrap, DecoderTrap};
[INFO] [stdout]   |                ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `encoding::all::GB18030`
[INFO] [stdout]  --> src/message.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use encoding::all::GB18030;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace`, `warn`
[INFO] [stdout]  --> src/message.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{info, trace, warn};
[INFO] [stdout]   |                 ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPMSG_BROADCASTOPT`, `IPMSG_BR_ENTRY`, `IPMSG_DEFAULT_PORT`, `self`
[INFO] [stdout]   --> src/message.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::constant::{self, IPMSG_SENDMSG, IPMSG_FILEATTACHOPT, IPMSG_DEFAULT_PORT, IPMSG_BR_ENTRY, IPMSG_BROADCASTOPT};
[INFO] [stdout]    |                       ^^^^                                      ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecoderTrap`
[INFO] [stdout]  --> src/util.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use encoding::{Encoding, EncoderTrap, DecoderTrap};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/util.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::{Duration, SystemTime};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `any`, `choice`, `optional`, `sep_by`, `skip_many1`, `skip_many`
[INFO] [stdout]  --> src/util.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use combine::{many1, many, Parser, Stream, sep_by, token, skip_many, skip_many1, satisfy, choice, optional, any};
[INFO] [stdout]   |                                            ^^^^^^         ^^^^^^^^^  ^^^^^^^^^^           ^^^^^^  ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `take_until_range`, `take_while1`, `take_while`
[INFO] [stdout]   --> src/util.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use combine::range::{take_while, take_while1, take_until_range};
[INFO] [stdout]    |                      ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `char`, `digit`, `letter`, `space`
[INFO] [stdout]   --> src/util.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use combine::char::{letter, space, digit, char};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AboutDialog`, `Alignment`, `ButtonBox`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `Widget`, `WindowPosition`, `WindowType`
[INFO] [stdout]  --> src/chat_window.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 |     self, CellRendererText, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window,
[INFO] [stdout]   |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 4 |     WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^                                                ^^^^          ^^^^^^^^^^^
[INFO] [stdout] 5 |     ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, ButtonBox, WrapMode
[INFO] [stdout]   |     ^^^^^^^^^^^  ^^^^^^            ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/chat_window.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/chat_window.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/chat_window.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> src/chat_window.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::{PathBuf, Path};
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `ReadDir`
[INFO] [stdout]   --> src/chat_window.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fs::{self, File, Metadata, ReadDir};
[INFO] [stdout]    |                     ^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH`
[INFO] [stdout]   --> src/chat_window.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::time::{self, Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace`, `warn`
[INFO] [stdout]   --> src/chat_window.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{info, trace, warn};
[INFO] [stdout]    |                 ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Packet`, `ShareInfo`
[INFO] [stdout]   --> src/chat_window.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::model::{self, Packet, ShareInfo, ReceivedSimpleFileInfo};
[INFO] [stdout]    |                          ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constant`
[INFO] [stdout]   --> src/chat_window.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::constant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReadDir`
[INFO] [stdout]  --> src/download.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs::{self, File, Metadata, ReadDir};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncoderTrap`
[INFO] [stdout]   --> src/download.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use encoding::{Encoding, EncoderTrap, DecoderTrap};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace`, `warn`
[INFO] [stdout]   --> src/download.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, trace, warn, debug};
[INFO] [stdout]    |                 ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FileInfo`
[INFO] [stdout]   --> src/download.rs:18:20
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::model::{FileInfo, ReceivedSimpleFileInfo};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/download.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/download.rs:167:65
[INFO] [stdout]     |
[INFO] [stdout] 167 | ... = read_bytes(stream, (header_size - 1 - header_size_str.as_bytes().len() as u64));//-1是减去的那个冒号
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncoderTrap`
[INFO] [stdout]  --> src/events/model.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use encoding::{Encoding, EncoderTrap, DecoderTrap};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, `warn`
[INFO] [stdout]  --> src/events/model.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{info, trace, warn, debug, error};
[INFO] [stdout]   |                 ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FileInfo`
[INFO] [stdout]   --> src/events/model.rs:11:79
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::model::{Packet, User, ReceivedSimpleFileInfo, ReceivedPacketInner, FileInfo, ShareInfo};
[INFO] [stdout]    |                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPMSG_FILEATTACHOPT`, `IPMSG_SENDMSG`
[INFO] [stdout]   --> src/events/model.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::constant::{self, IPMSG_SENDMSG, IPMSG_FILEATTACHOPT, IPMSG_DEFAULT_PORT, IPMSG_BR_ENTRY, IPMSG_BROADCASTOPT, IPMSG_LIMITED_BRO...
[INFO] [stdout]    |                             ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/events/model.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         ///扩展段 用户名|用户组
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 193 |         let ext_vec = extstr.splitn(2, |c| c == ':').collect::<Vec<&str>>();
[INFO] [stdout]     |         -------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileInfo`, `ReceivedPacketInner`
[INFO] [stdout]  --> src/events/ui.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::model::{User, ReceivedPacketInner, Packet, ReceivedSimpleFileInfo, FileInfo, ShareInfo};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReadDir`
[INFO] [stdout]  --> src/fileserver.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::{self, File, Metadata, ReadDir};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncoderTrap`
[INFO] [stdout]  --> src/fileserver.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use encoding::{Encoding, EncoderTrap, DecoderTrap};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, `warn`
[INFO] [stdout]   --> src/fileserver.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{info, trace, warn, debug};
[INFO] [stdout]    |                 ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileInfo`, `Packet`
[INFO] [stdout]   --> src/fileserver.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::model::{FileInfo, Packet, ShareInfo};
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> src/main_win.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener`, `TcpStream`
[INFO] [stdout]  --> src/main_win.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/main_win.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/main_win.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main_win.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/main_win.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ipv4Addr`, `Ipv6Addr`, `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]  --> src/main_win.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs};
[INFO] [stdout]   |                ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]   --> src/main_win.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env::args;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `human_panic::setup_panic`
[INFO] [stdout]   --> src/main_win.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use human_panic::setup_panic;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ApplicationFlags`
[INFO] [stdout]   --> src/main_win.rs:12:49
[INFO] [stdout]    |
[INFO] [stdout] 12 | use gio::{ApplicationExt, ApplicationExtManual, ApplicationFlags};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Builder`, `Button`, `CellRendererProgress`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `ListBoxRow`, `ListBox`, `Orientation`, `ReliefStyle`, `StatusIcon`, `TextView`, `Widget`, `WindowPosition`, `WindowType`, `Window`
[INFO] [stdout]   --> src/main_win.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     self, CellRendererText, CellRendererProgress, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^                                  ^^^^^^
[INFO] [stdout] 16 |     WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^                                       ^^^^^^^  ^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 17 |     ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, ListBox, ListBoxRow, Application
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^                  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/main_win.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | use glib::{Receiver, MainContext};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, `warn`
[INFO] [stdout]   --> src/main_win.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{info, trace, warn, debug};
[INFO] [stdout]    |                 ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrMsg`, `FileInfo`, `OperUser`, `Operate`, `Packet`, `ReceivedPacketInner`, `ReceivedSimpleFileInfo`, `ShareInfo`, `User`, `self`
[INFO] [stdout]   --> src/main_win.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::model::{self, User, OperUser, Operate, ShareInfo, Packet, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner, ErrMsg};
[INFO] [stdout]    |                    ^^^^  ^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> src/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener`, `TcpStream`
[INFO] [stdout]  --> src/app.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/app.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/app.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::UdpSocket`
[INFO] [stdout]  --> src/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::net::UdpSocket;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ipv4Addr`, `Ipv6Addr`, `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs`
[INFO] [stdout]  --> src/app.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs};
[INFO] [stdout]   |                ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AboutDialog`, `Alignment`, `Builder`, `Button`, `CellRendererProgress`, `CellRendererText`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `ListBoxRow`, `ListBox`, `ListStore`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `TextView`, `TreeViewColumn`, `TreeView`, `Widget`, `WindowPosition`, `WindowType`, `Window`
[INFO] [stdout]   --> src/app.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 |     self, CellRendererText, CellRendererProgress, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window,
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 16 |     WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 17 |     ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, ListBox, ListBoxRow
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gdk_pixbuf::Pixbuf`
[INFO] [stdout]   --> src/app.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use gdk_pixbuf::Pixbuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MainContext`, `Receiver`
[INFO] [stdout]   --> src/app.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | use glib::{Receiver, MainContext};
[INFO] [stdout]    |            ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_channel::unbounded`
[INFO] [stdout]   --> src/app.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crossbeam_channel::unbounded;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `trace`, `warn`
[INFO] [stdout]   --> src/app.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{info, trace, warn, debug};
[INFO] [stdout]    |                 ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrMsg`, `FileInfo`, `OperUser`, `Operate`, `Packet`, `ReceivedPacketInner`, `ReceivedSimpleFileInfo`, `ShareInfo`, `User`, `self`
[INFO] [stdout]   --> src/app.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::model::{self, User, OperUser, Operate, ShareInfo, Packet, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner, ErrMsg};
[INFO] [stdout]    |                    ^^^^  ^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::chat_window::ChatWindow`
[INFO] [stdout]   --> src/app.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::chat_window::ChatWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `model::ModelEvent`, `model::model_run`, `ui::UiEvent`
[INFO] [stdout]   --> src/app.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::events::{ui::UiEvent, model::ModelEvent, model::model_run};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/download.rs:40:52
[INFO] [stdout]    |
[INFO] [stdout] 40 |             DownLoadError::IoError(ref err) => err.description(),
[INFO] [stdout]    |                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ApplicationExt`
[INFO] [stdout]   --> src/main_win.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use gio::{ApplicationExt, ApplicationExtManual, ApplicationFlags};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ApplicationExtManual`
[INFO] [stdout]   --> src/main_win.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use gio::{ApplicationExt, ApplicationExtManual, ApplicationFlags};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::prelude`
[INFO] [stdout]   --> src/app.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use gtk::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main_win.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 _ => {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/message.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |     for (i, file) in (&files).iter().enumerate() {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/util.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |         many(satisfy(|c| true)),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_path`
[INFO] [stdout]   --> src/chat_window.rs:87:95
[INFO] [stdout]    |
[INFO] [stdout] 87 |     tree_view_received.connect_row_activated(clone!(model_sender, host_ip => move |tree_view, tree_path, tree_view_column| {
[INFO] [stdout]    |                                                                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_view_column`
[INFO] [stdout]   --> src/chat_window.rs:87:106
[INFO] [stdout]    |
[INFO] [stdout] 87 |     tree_view_received.connect_row_activated(clone!(model_sender, host_ip => move |tree_view, tree_path, tree_view_column| {
[INFO] [stdout]    |                                                                                                          ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_view_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_time`
[INFO] [stdout]    --> src/chat_window.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 |             let local_time = chrono_time.with_timezone(&::chrono::Local);
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_time`
[INFO] [stdout]    --> src/chat_window.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let local_time = chrono_time.with_timezone(&::chrono::Local);
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_view_history_clone`
[INFO] [stdout]   --> src/chat_window.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let text_view_history_clone = text_view_history.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_view_history_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `received_store`
[INFO] [stdout]    --> src/chat_window.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn modify_received_list(received_store :Option<ListStore>, received_files: Arc<RefCell<Vec<ReceivedSimpleFileInfo>>>) -> ::glib::Continue {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_received_store`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `received_files`
[INFO] [stdout]    --> src/chat_window.rs:240:60
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn modify_received_list(received_store :Option<ListStore>, received_files: Arc<RefCell<Vec<ReceivedSimpleFileInfo>>>) -> ::glib::Continue {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_received_files`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]    --> src/download.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let metadata: Metadata = fs::metadata(path)?;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path_info`
[INFO] [stdout]    --> src/download.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for path_info in path_infos {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/download.rs:238:71
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn read_bytes_to_file_unsize(mut stream : & mut BufReader<TcpStream>, len: u64, file_path: &PathBuf) {
[INFO] [stdout]     |                                                                       ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opt`
[INFO] [stdout]    --> src/download.rs:172:25
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let opt = constant::get_opt(file_attr);
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_opt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg_str`
[INFO] [stdout]    --> src/events/model.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let msg_str = if ext_vec.len() > 0 { ext_vec[0] } else { "" };
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ntime`
[INFO] [stdout]    --> src/events/model.rs:240:29
[INFO] [stdout]     |
[INFO] [stdout] 240 |                         let ntime = NaiveDateTime::from_timestamp(mmtime_num, 0);
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_ntime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `search_result` is never read
[INFO] [stdout]   --> src/fileserver.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let mut search_result: Option<ShareInfo> = Option::None;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/fileserver.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let offset = file_attr[2].parse::<u32>().unwrap();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `search_result` is never read
[INFO] [stdout]    --> src/fileserver.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut search_result: Option<ShareInfo> = Option::None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_path`
[INFO] [stdout]   --> src/main_win.rs:99:76
[INFO] [stdout]    |
[INFO] [stdout] 99 |         tree.connect_row_activated(clone!(model_sender => move |tree_view, tree_path, tree_view_column| {
[INFO] [stdout]    |                                                                            ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree_view_column`
[INFO] [stdout]   --> src/main_win.rs:99:87
[INFO] [stdout]    |
[INFO] [stdout] 99 |         tree.connect_row_activated(clone!(model_sender => move |tree_view, tree_path, tree_view_column| {
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tree_view_column`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `win`
[INFO] [stdout]    --> src/main_win.rs:124:30
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         Some(win) => {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `win`
[INFO] [stdout]    --> src/main_win.rs:185:30
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         Some(win) => {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/main_win.rs:192:62
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 UiEvent::OpenOrReOpenChatWindow1 { name, ip, packet} => {
[INFO] [stdout]     |                                                              ^^^^^^ help: try ignoring the field: `packet: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `win`
[INFO] [stdout]    --> src/main_win.rs:194:30
[INFO] [stdout]     |
[INFO] [stdout] 194 |                         Some(win) => {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `files`
[INFO] [stdout]    --> src/main_win.rs:204:67
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 UiEvent::DisplaySelfSendMsgInHis {to_ip, context, files} => {
[INFO] [stdout]     |                                                                   ^^^^^ help: try ignoring the field: `files: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `his_start_iter`
[INFO] [stdout]    --> src/main_win.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 | ...                   let (his_start_iter, mut his_end_iter) = win.his_view.get_buffer().unwrap().get_bounds();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_his_start_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `his_start_iter`
[INFO] [stdout]    --> src/main_win.rs:217:34
[INFO] [stdout]     |
[INFO] [stdout] 217 | ...                   let (his_start_iter, mut his_end_iter) = win.his_view.get_buffer().unwrap().get_bounds();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_his_start_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/chat_window.rs:76:26
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let (start_iter, mut end_iter) = text_view_presend.get_buffer().unwrap().get_bounds();
[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/download.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn run(mut self, file_info: ReceivedSimpleFileInfo, save_path: PathBuf, download_ip: String) {
[INFO] [stdout]    |                ----^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut base_file_location = path.to_path_buf();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let mut buffer = BufReader::new(stream);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut path_infos = PathInfos{
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:202:19
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn read_delimiter(mut stream : & mut BufReader<TcpStream>) -> Result<Option<String>, DownLoadError> {
[INFO] [stdout]     |                   ----^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn read_bytes(mut stream : & mut BufReader<TcpStream>, len: u64) -> String {
[INFO] [stdout]     |               ----^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn read_bytes_to_file(mut stream : & mut BufReader<TcpStream>, len: u64, file_path: &PathBuf) {
[INFO] [stdout]     |                       ----^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/download.rs:238:30
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn read_bytes_to_file_unsize(mut stream : & mut BufReader<TcpStream>, len: u64, file_path: &PathBuf) {
[INFO] [stdout]     |                              ----^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fileserver.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut tmp_buf = &buf[0..byte_size];
[INFO] [stdout]    |                         ----^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fileserver.rs:75:58
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn process_dir(pool_tmp: Arc<Mutex<Vec<ShareInfo>>>, mut stream_echo: TcpStream, ext_str: String) -> () {
[INFO] [stdout]    |                                                          ----^^^^^^^^^^^
[INFO] [stdout]    |                                                          |
[INFO] [stdout]    |                                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fileserver.rs:99:60
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn process_file(pool_tmp: &Arc<Mutex<Vec<ShareInfo>>>, mut stream_echo: &mut TcpStream, ext_str: String) -> () {
[INFO] [stdout]    |                                                            ----^^^^^^^^^^^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_BR_ISGETLIST`
[INFO] [stdout]   --> src/constant.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const IPMSG_BR_ISGETLIST: u32 = 0x00000010;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_OKGETLIST`
[INFO] [stdout]   --> src/constant.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const IPMSG_OKGETLIST: u32 = 0x00000011;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_GETLIST`
[INFO] [stdout]   --> src/constant.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const IPMSG_GETLIST: u32 = 0x00000012;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ANSLIST`
[INFO] [stdout]   --> src/constant.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const IPMSG_ANSLIST: u32 = 0x00000013;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_BR_ISGETLIST2`
[INFO] [stdout]   --> src/constant.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const IPMSG_BR_ISGETLIST2: u32 = 0x00000018;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_READMSG`
[INFO] [stdout]   --> src/constant.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const IPMSG_READMSG: u32 = 0x00000030;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_DELMSG`
[INFO] [stdout]   --> src/constant.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const IPMSG_DELMSG: u32 = 0x00000031;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ANSREADMSG`
[INFO] [stdout]   --> src/constant.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const IPMSG_ANSREADMSG: u32 = 0x00000032;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_GETINFO`
[INFO] [stdout]   --> src/constant.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const IPMSG_GETINFO: u32 = 0x00000040;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_SENDINFO`
[INFO] [stdout]   --> src/constant.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const IPMSG_SENDINFO: u32 = 0x00000041;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_GETABSENCEINFO`
[INFO] [stdout]   --> src/constant.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const IPMSG_GETABSENCEINFO: u32 = 0x00000050;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_SENDABSENCEINFO`
[INFO] [stdout]   --> src/constant.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const IPMSG_SENDABSENCEINFO: u32 = 0x00000051;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_RELEASEFILES`
[INFO] [stdout]   --> src/constant.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const IPMSG_RELEASEFILES: u32 = 0x00000061;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_GETPUBKEY`
[INFO] [stdout]   --> src/constant.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const IPMSG_GETPUBKEY: u32 = 0x00000072;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ANSPUBKEY`
[INFO] [stdout]   --> src/constant.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const IPMSG_ANSPUBKEY: u32 = 0x00000073;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_SYMLINK`
[INFO] [stdout]   --> src/constant.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const IPMSG_FILE_SYMLINK: u32 = 0x00000004;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_CDEV`
[INFO] [stdout]   --> src/constant.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const IPMSG_FILE_CDEV: u32 = 0x00000005;// for UNIX
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_BDEV`
[INFO] [stdout]   --> src/constant.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const IPMSG_FILE_BDEV: u32 = 0x00000006;// for UNIX
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_FIFO`
[INFO] [stdout]   --> src/constant.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const IPMSG_FILE_FIFO: u32 = 0x00000007;// for UNIX
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_RESFORK`
[INFO] [stdout]   --> src/constant.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const IPMSG_FILE_RESFORK: u32 = 0x00000010;// for mac
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_RONLYOPT`
[INFO] [stdout]   --> src/constant.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const IPMSG_FILE_RONLYOPT: u32 = 0x00000100;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_HIDDENOPT`
[INFO] [stdout]   --> src/constant.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const IPMSG_FILE_HIDDENOPT: u32 = 0x00001000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_EXHIDDENOPT`
[INFO] [stdout]   --> src/constant.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const IPMSG_FILE_EXHIDDENOPT: u32 = 0x00002000;// for MacOS X
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_ARCHIVEOPT`
[INFO] [stdout]   --> src/constant.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const IPMSG_FILE_ARCHIVEOPT: u32 = 0x00004000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_FILE_SYSTEMOPT`
[INFO] [stdout]   --> src/constant.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const IPMSG_FILE_SYSTEMOPT: u32 = 0x00008000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `HOSTLIST_SEPARATOR`
[INFO] [stdout]   --> src/constant.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const HOSTLIST_SEPARATOR: char = '\u{7}';
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ABSENCEOPT`
[INFO] [stdout]   --> src/constant.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const IPMSG_ABSENCEOPT: u32 = 0x00000100;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_SERVEROPT`
[INFO] [stdout]   --> src/constant.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub const IPMSG_SERVEROPT: u32 = 0x00000200;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_DIALUPOPT`
[INFO] [stdout]   --> src/constant.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const IPMSG_DIALUPOPT: u32 = 0x00010000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ENCRYPTOPT`
[INFO] [stdout]   --> src/constant.rs:99:1
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const IPMSG_ENCRYPTOPT: u32 = 0x00400000;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_UTF8OPT`
[INFO] [stdout]    --> src/constant.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const IPMSG_UTF8OPT: u32 = 0x00800000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_CAPUTF8OPT`
[INFO] [stdout]    --> src/constant.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const IPMSG_CAPUTF8OPT: u32 = 0x01000000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_ENCEXTMSGOPT`
[INFO] [stdout]    --> src/constant.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub const IPMSG_ENCEXTMSGOPT: u32 = 0x04000000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_CLIPBOARDOPT`
[INFO] [stdout]    --> src/constant.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const IPMSG_CLIPBOARDOPT: u32 = 0x08000000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_CAPFILEENC_OBSLT`
[INFO] [stdout]    --> src/constant.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const IPMSG_CAPFILEENC_OBSLT: u32 = 0x00001000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_CAPFILEENCOPT`
[INFO] [stdout]    --> src/constant.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const IPMSG_CAPFILEENCOPT: u32 = 0x00040000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_MULTICASTOPT`
[INFO] [stdout]    --> src/constant.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const IPMSG_MULTICASTOPT: u32 = 0x00000800;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_AUTORETOPT`
[INFO] [stdout]    --> src/constant.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub const IPMSG_AUTORETOPT: u32 = 0x00002000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_RETRYOPT`
[INFO] [stdout]    --> src/constant.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub const IPMSG_RETRYOPT: u32 = 0x00004000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_PASSWORDOPT`
[INFO] [stdout]    --> src/constant.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub const IPMSG_PASSWORDOPT: u32 = 0x00008000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_NOLOGOPT`
[INFO] [stdout]    --> src/constant.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub const IPMSG_NOLOGOPT: u32 = 0x00020000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_NOADDLISTOPT`
[INFO] [stdout]    --> src/constant.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const IPMSG_NOADDLISTOPT: u32 = 0x00080000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_READCHECKOPT`
[INFO] [stdout]    --> src/constant.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub const IPMSG_READCHECKOPT: u32 = 0x00100000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `IPMSG_SECRETEXOPT`
[INFO] [stdout]    --> src/constant.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub const IPMSG_SECRETEXOPT: u32 = IPMSG_READCHECKOPT|IPMSG_SECRETOPT;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `ExtStr`
[INFO] [stdout]   --> src/model.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | type ExtStr = String;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `command`
[INFO] [stdout]   --> src/model.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn command(command_no: u32) -> PacketBuilder {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `command_opt`
[INFO] [stdout]   --> src/model.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn command_opt(mut self, ext_command_no: u32) -> PacketBuilder {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ADD`
[INFO] [stdout]    --> src/model.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     ADD, REMOVE
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `REMOVE`
[INFO] [stdout]    --> src/model.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 |     ADD, REMOVE
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/model.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn new(user: User, oper :Operate) -> OperUser{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `opt_files`
[INFO] [stdout]    --> src/model.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn opt_files(mut self, opt_files: Vec<ReceivedSimpleFileInfo>) -> ReceivedPacketInner {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `ErrMsg`
[INFO] [stdout]    --> src/model.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct ErrMsg {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `modify_received_list`
[INFO] [stdout]    --> src/chat_window.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn modify_received_list(received_store :Option<ListStore>, received_files: Arc<RefCell<Vec<ReceivedSimpleFileInfo>>>) -> ::glib::Continue {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `InValidType`
[INFO] [stdout]   --> src/download.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     InValidType,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `read_bytes_to_file_unsize`
[INFO] [stdout]    --> src/download.rs:238:4
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn read_bytes_to_file_unsize(mut stream : & mut BufReader<TcpStream>, len: u64, file_path: &PathBuf) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `PutInTcpFilePool`
[INFO] [stdout]   --> src/events/model.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     PutInTcpFilePool(),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `hostname` should have an upper case name
[INFO] [stdout]    --> src/constant.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub static ref hostname: String = get_host_name().unwrap();
[INFO] [stdout]     |                    ^^^^^^^^ help: convert the identifier to upper case: `HOSTNAME`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `localip` should have an upper case name
[INFO] [stdout]    --> src/constant.rs:162:20
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub static ref localip: String = get_local_ip().unwrap().to_string();
[INFO] [stdout]     |                    ^^^^^^^ help: convert the identifier to upper case: `LOCALIP`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `addr` should have an upper case name
[INFO] [stdout]    --> src/constant.rs:163:20
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub static ref addr: String = format!("{}{}", "0.0.0.0:", IPMSG_DEFAULT_PORT);
[INFO] [stdout]     |                    ^^^^ help: convert the identifier to upper case: `ADDR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chat_window.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 | /                 model_sender.send(ModelEvent::PutDownloadTaskInPool{ file: ReceivedSimpleFileInfo{
[INFO] [stdout] 106 | |                     file_id: fid,
[INFO] [stdout] 107 | |                     packet_id: pid,
[INFO] [stdout] 108 | |                     name: name,
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |                     mtime
[INFO] [stdout] 112 | |                 }, save_base_path, download_ip: host_ip.clone() });
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/download.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     sender.send(ModelEvent::DownloadIsBusy{ file: file_info });
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/download.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...   sender.send(ModelEvent::RemoveDownloadTaskInPool{ packet_id: file_info.packet_id, file_id: file_info.file_id, download_ip });
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/download.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     handler.read_to_end(&mut s_buffer);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/download.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |         f.write(&buf[..bytes_read]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/events/model.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         model_event_sender.send(ModelEvent::RecMsgReply{packet: recvmsg, from_ip: (&packet).ip.to_owned()});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/events/model.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         model_event_sender.send(ModelEvent::BroadcastExit((&packet).sender_host.to_owned()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/events/model.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         model_event_sender.send(ModelEvent::RecOnlineMsgReply{packet: ansentry_packet, from_user: user});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/events/model.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         model_event_sender.send(ModelEvent::NotifyOnline{user});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 184 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gtk`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustc --crate-name gtk /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/gtk-0.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="v3_16"' --cfg 'feature="v3_18"' --cfg 'feature="v3_20"' --cfg 'feature="v3_22"' --cfg 'feature="v3_22_20"' --cfg 'feature="v3_22_26"' --cfg 'feature="v3_22_27"' --cfg 'feature="v3_22_29"' --cfg 'feature="v3_22_30"' -C metadata=8f0febd84327157c -C extra-filename=-8f0febd84327157c --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern atk=/opt/rustwide/target/debug/deps/libatk-1c06e66faaa4ad12.rmeta --extern bitflags=/opt/rustwide/target/debug/deps/libbitflags-b05187f49b74e4d8.rmeta --extern cairo=/opt/rustwide/target/debug/deps/libcairo-6ad3e743b8f9d03c.rmeta --extern cairo_sys=/opt/rustwide/target/debug/deps/libcairo_sys-c509c97b0539738f.rmeta --extern gdk=/opt/rustwide/target/debug/deps/libgdk-4540a9ca07eb8bfa.rmeta --extern gdk_pixbuf=/opt/rustwide/target/debug/deps/libgdk_pixbuf-51df9d166bd7f0cf.rmeta --extern gdk_pixbuf_sys=/opt/rustwide/target/debug/deps/libgdk_pixbuf_sys-39c95b1598ac95bd.rmeta --extern gdk_sys=/opt/rustwide/target/debug/deps/libgdk_sys-bffd1004ad849456.rmeta --extern gio=/opt/rustwide/target/debug/deps/libgio-c6316e9dc8b5a7b7.rmeta --extern gio_sys=/opt/rustwide/target/debug/deps/libgio_sys-6b20e69d1e0d30f6.rmeta --extern glib=/opt/rustwide/target/debug/deps/libglib-2fdfdec00bdfb3e1.rmeta --extern glib_sys=/opt/rustwide/target/debug/deps/libglib_sys-35caa8b1aeddbc26.rmeta --extern gobject_sys=/opt/rustwide/target/debug/deps/libgobject_sys-831a56624a8c58f2.rmeta --extern gtk_sys=/opt/rustwide/target/debug/deps/libgtk_sys-e0955535c76c9bdd.rmeta --extern lazy_static=/opt/rustwide/target/debug/deps/liblazy_static-61a1220fde72d8ee.rmeta --extern libc=/opt/rustwide/target/debug/deps/liblibc-a5959912538a8658.rmeta --extern pango=/opt/rustwide/target/debug/deps/libpango-0e909517c1240bab.rmeta --extern pango_sys=/opt/rustwide/target/debug/deps/libpango_sys-f78df74683bbe213.rmeta --cap-lints allow --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "86ce861116c31fdfb0be975e85f9885621564ee741647acfe20cafd90fe630d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86ce861116c31fdfb0be975e85f9885621564ee741647acfe20cafd90fe630d9", kill_on_drop: false }`
[INFO] [stdout] 86ce861116c31fdfb0be975e85f9885621564ee741647acfe20cafd90fe630d9