[INFO] updating cached repository wyq756543431/raudient [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/wyq756543431/raudient [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/wyq756543431/raudient" "work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/gh/wyq756543431/raudient"` [INFO] [stderr] Cloning into 'work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/gh/wyq756543431/raudient'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/wyq756543431/raudient" "work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/gh/wyq756543431/raudient"` [INFO] [stderr] Cloning into 'work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/gh/wyq756543431/raudient'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] cf155e6c8cf37a437d17cc04419d94f17ad04518 [INFO] sha for GitHub repo wyq756543431/raudient: cf155e6c8cf37a437d17cc04419d94f17ad04518 [INFO] validating manifest of wyq756543431/raudient on toolchain master#f66e4697ae286985ddefc53c3a047614568458bb [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of wyq756543431/raudient on toolchain try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing wyq756543431/raudient [INFO] finished frobbing wyq756543431/raudient [INFO] frobbed toml for wyq756543431/raudient written to work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/gh/wyq756543431/raudient/Cargo.toml [INFO] started frobbing wyq756543431/raudient [INFO] finished frobbing wyq756543431/raudient [INFO] frobbed toml for wyq756543431/raudient written to work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/gh/wyq756543431/raudient/Cargo.toml [INFO] crate wyq756543431/raudient has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking wyq756543431/raudient against master#f66e4697ae286985ddefc53c3a047614568458bb for pr-58592 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-58592/worker-7/master#f66e4697ae286985ddefc53c3a047614568458bb:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/gh/wyq756543431/raudient:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f43cf30bdf1fe9fe8fcecc6c97a6db21ae8c18a35e2b8b5b3e83d1238ad37adc [INFO] running `"docker" "start" "-a" "f43cf30bdf1fe9fe8fcecc6c97a6db21ae8c18a35e2b8b5b3e83d1238ad37adc"` [INFO] [stderr] Compiling gdk-pixbuf v0.3.0 [INFO] [stderr] Compiling gio v0.3.0 [INFO] [stderr] Compiling cairo-rs v0.3.0 [INFO] [stderr] Compiling gdk v0.7.0 [INFO] [stderr] Compiling gtk v0.3.0 [INFO] [stderr] Compiling gio-sys v0.5.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.5.0 [INFO] [stderr] Compiling cairo-sys-rs v0.5.0 [INFO] [stderr] Compiling pango-sys v0.5.0 [INFO] [stderr] Compiling gdk-sys v0.5.0 [INFO] [stderr] Compiling gtk-sys v0.5.0 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking time v0.1.38 [INFO] [stderr] Checking hostname v0.1.3 [INFO] [stderr] Checking glib-sys v0.5.0 [INFO] [stderr] Checking num v0.1.41 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking chrono v0.4.0 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking gobject-sys v0.5.0 [INFO] [stderr] Checking local-ip v0.1.0 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking glib v0.4.0 [INFO] [stderr] Checking atk-sys v0.5.0 [INFO] [stderr] Checking pango v0.3.0 [INFO] [stderr] Checking raudient v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | #[macro_use] extern crate quick_error; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::TcpStream` [INFO] [stderr] --> src/model.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::TcpStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/model.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::UdpSocket` [INFO] [stderr] --> src/demons.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::UdpSocket; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/demons.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH`, `self` [INFO] [stderr] --> src/demons.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::time::{self, Duration, SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadDir` [INFO] [stderr] --> src/demons.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufReader` [INFO] [stderr] --> src/demons.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::{BufReader, BufWriter}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/demons.rs:14:26 [INFO] [stderr] | [INFO] [stderr] 14 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileInfo`, `self` [INFO] [stderr] --> src/demons.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | use model::{self, User, OperUser, Operate, ShareInfo, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EncoderTrap` [INFO] [stderr] --> src/demons.rs:19:26 [INFO] [stderr] | [INFO] [stderr] 19 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/demons.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/demons.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AboutDialog`, `Alignment`, `Builder`, `Button`, `CellRendererText`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `ListStore`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `TextView`, `TreeViewColumn`, `TreeView`, `Widget`, `WindowPosition`, `WindowType`, `Window`, `self` [INFO] [stderr] --> src/demons.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | self, TreeModelExt, CellRendererText, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] 26 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 27 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `message` [INFO] [stderr] --> src/demons.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use message; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ChatWindow` [INFO] [stderr] --> src/demons.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | use chat_window::{self, ChatWindow}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/demons.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | use app::{self, GLOBAL_UDPSOCKET, GLOBAL_SHARELIST, GLOBAL_CHATWINDOWS, GLOBAL_USERLIST}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/demons.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | ///扩展段 用户名|用户组 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/message.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::UdpSocket` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::UdpSocket; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DecoderTrap`, `EncoderTrap`, `Encoding` [INFO] [stderr] --> src/message.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `encoding::all::GB18030` [INFO] [stderr] --> src/message.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use encoding::all::GB18030; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GLOBAL_CHATWINDOWS`, `GLOBAL_USERLIST`, `self` [INFO] [stderr] --> src/message.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | use app::{self, GLOBAL_UDPSOCKET, GLOBAL_SHARELIST, GLOBAL_CHATWINDOWS, GLOBAL_USERLIST}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DecoderTrap` [INFO] [stderr] --> src/util.rs:1:39 [INFO] [stderr] | [INFO] [stderr] 1 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/util.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::{Duration, SystemTime}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AboutDialog`, `Alignment`, `ButtonBox`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `Widget`, `WindowPosition`, `WindowType` [INFO] [stderr] --> src/chat_window.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | self, CellRendererText, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] 4 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^ [INFO] [stderr] 5 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, ButtonBox, WrapMode [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/chat_window.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc` [INFO] [stderr] --> src/chat_window.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/chat_window.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `ReadDir` [INFO] [stderr] --> src/chat_window.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/chat_window.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | use std::time::{self, Duration, SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ShareInfo` [INFO] [stderr] --> src/chat_window.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | use model::{self, Packet, ShareInfo, ReceivedSimpleFileInfo}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/download.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadDir` [INFO] [stderr] --> src/download.rs:8:37 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EncoderTrap` [INFO] [stderr] --> src/download.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/download.rs:105:65 [INFO] [stderr] | [INFO] [stderr] 105 | let header_context_str = read_bytes(stream, (header_size - 1 - header_size_str.as_bytes().len() as u64));//-1是减去的那个冒号 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Alignment`, `Builder`, `Button`, `CellRendererProgress`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Orientation`, `ReliefStyle`, `StatusIcon`, `TextView`, `Widget`, `WindowPosition`, `WindowType` [INFO] [stderr] --> src/app.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | self, CellRendererText, CellRendererProgress, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stderr] 4 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 5 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> src/app.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream` [INFO] [stderr] --> src/app.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/app.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr`, `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs` [INFO] [stderr] --> src/app.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileInfo`, `Operate`, `ReceivedSimpleFileInfo`, `User`, `self` [INFO] [stderr] --> src/app.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | use model::{self, User, OperUser, Operate, ShareInfo, Packet, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner}; [INFO] [stderr] | ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/app.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | ///待处理消息队列 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | #[macro_use] extern crate quick_error; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::TcpStream` [INFO] [stderr] --> src/model.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::net::TcpStream; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/model.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::UdpSocket` [INFO] [stderr] --> src/demons.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::net::UdpSocket; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/demons.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH`, `self` [INFO] [stderr] --> src/demons.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::time::{self, Duration, SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadDir` [INFO] [stderr] --> src/demons.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufReader` [INFO] [stderr] --> src/demons.rs:13:15 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::{BufReader, BufWriter}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/demons.rs:14:26 [INFO] [stderr] | [INFO] [stderr] 14 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileInfo`, `self` [INFO] [stderr] --> src/demons.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | use model::{self, User, OperUser, Operate, ShareInfo, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EncoderTrap` [INFO] [stderr] --> src/demons.rs:19:26 [INFO] [stderr] | [INFO] [stderr] 19 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/demons.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/demons.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AboutDialog`, `Alignment`, `Builder`, `Button`, `CellRendererText`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `ListStore`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `TextView`, `TreeViewColumn`, `TreeView`, `Widget`, `WindowPosition`, `WindowType`, `Window`, `self` [INFO] [stderr] --> src/demons.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | self, TreeModelExt, CellRendererText, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] 26 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 27 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `message` [INFO] [stderr] --> src/demons.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use message; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ChatWindow` [INFO] [stderr] --> src/demons.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | use chat_window::{self, ChatWindow}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/demons.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | use app::{self, GLOBAL_UDPSOCKET, GLOBAL_SHARELIST, GLOBAL_CHATWINDOWS, GLOBAL_USERLIST}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/demons.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | ///扩展段 用户名|用户组 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/message.rs:1:22 [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::net::UdpSocket` [INFO] [stderr] --> src/message.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::net::UdpSocket; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DecoderTrap`, `EncoderTrap`, `Encoding` [INFO] [stderr] --> src/message.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `encoding::all::GB18030` [INFO] [stderr] --> src/message.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use encoding::all::GB18030; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GLOBAL_CHATWINDOWS`, `GLOBAL_USERLIST`, `self` [INFO] [stderr] --> src/message.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | use app::{self, GLOBAL_UDPSOCKET, GLOBAL_SHARELIST, GLOBAL_CHATWINDOWS, GLOBAL_USERLIST}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DecoderTrap` [INFO] [stderr] --> src/util.rs:1:39 [INFO] [stderr] | [INFO] [stderr] 1 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/util.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::{Duration, SystemTime}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AboutDialog`, `Alignment`, `ButtonBox`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Label`, `MenuBar`, `MenuItem`, `Menu`, `Orientation`, `ReliefStyle`, `ScrolledWindow`, `StatusIcon`, `Widget`, `WindowPosition`, `WindowType` [INFO] [stderr] --> src/chat_window.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | self, CellRendererText, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] 4 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^ [INFO] [stderr] 5 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, ButtonBox, WrapMode [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mutex` [INFO] [stderr] --> src/chat_window.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::mpsc` [INFO] [stderr] --> src/chat_window.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/chat_window.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | use std::path::{PathBuf, Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `File`, `ReadDir` [INFO] [stderr] --> src/chat_window.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/chat_window.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | use std::time::{self, Duration, SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ShareInfo` [INFO] [stderr] --> src/chat_window.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | use model::{self, Packet, ShareInfo, ReceivedSimpleFileInfo}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/download.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReadDir` [INFO] [stderr] --> src/download.rs:8:37 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::{self, File, Metadata, ReadDir}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EncoderTrap` [INFO] [stderr] --> src/download.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | use encoding::{Encoding, EncoderTrap, DecoderTrap}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/download.rs:105:65 [INFO] [stderr] | [INFO] [stderr] 105 | let header_context_str = read_bytes(stream, (header_size - 1 - header_size_str.as_bytes().len() as u64));//-1是减去的那个冒号 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Alignment`, `Builder`, `Button`, `CellRendererProgress`, `CheckMenuItem`, `Fixed`, `Grid`, `IconSize`, `Image`, `Orientation`, `ReliefStyle`, `StatusIcon`, `TextView`, `Widget`, `WindowPosition`, `WindowType` [INFO] [stderr] --> src/app.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | self, CellRendererText, CellRendererProgress, AboutDialog, CheckMenuItem, IconSize, Image, Label, Menu, MenuBar, MenuItem, Window, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ [INFO] [stderr] 4 | WindowPosition, WindowType, StatusIcon, ListStore, TreeView, TreeViewColumn, Builder, Grid, Button, Orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] 5 | ReliefStyle, Widget, TextView, Fixed, ScrolledWindow, Alignment, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::prelude::*` [INFO] [stderr] --> src/app.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use chrono::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream` [INFO] [stderr] --> src/app.rs:9:16 [INFO] [stderr] | [INFO] [stderr] 9 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/app.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr`, `SocketAddrV4`, `SocketAddrV6`, `SocketAddr`, `ToSocketAddrs` [INFO] [stderr] --> src/app.rs:16:16 [INFO] [stderr] | [INFO] [stderr] 16 | use std::net::{SocketAddr, SocketAddrV4, SocketAddrV6, Ipv4Addr, Ipv6Addr, ToSocketAddrs}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileInfo`, `Operate`, `ReceivedSimpleFileInfo`, `User`, `self` [INFO] [stderr] --> src/app.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | use model::{self, User, OperUser, Operate, ShareInfo, Packet, FileInfo, ReceivedSimpleFileInfo, ReceivedPacketInner}; [INFO] [stderr] | ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/app.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | ///待处理消息队列 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/demons.rs:201:51 [INFO] [stderr] | [INFO] [stderr] 201 | let receive_str = tmp_str.trim_right_matches('\u{0}'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/demons.rs:201:51 [INFO] [stderr] | [INFO] [stderr] 201 | let receive_str = tmp_str.trim_right_matches('\u{0}'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg_str` [INFO] [stderr] --> src/demons.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let msg_str = if ext_vec.len() > 0 { ext_vec[0] } else { "" }; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_msg_str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/demons.rs:145:45 [INFO] [stderr] | [INFO] [stderr] 145 | let size = file_attr[2];//大小 [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/demons.rs:221:45 [INFO] [stderr] | [INFO] [stderr] 221 | let offset = file_attr[2].parse::().unwrap(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_offset` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `search_result` is never read [INFO] [stderr] --> src/demons.rs:222:49 [INFO] [stderr] | [INFO] [stderr] 222 | let mut search_result: Option = Option::None; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `search_result` is never read [INFO] [stderr] --> src/demons.rs:251:49 [INFO] [stderr] | [INFO] [stderr] 251 | let mut search_result: Option = Option::None; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/demons.rs:343:34 [INFO] [stderr] | [INFO] [stderr] 343 | let (start, mut end) = chat_win.his_view.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_flag` [INFO] [stderr] --> src/demons.rs:407:33 [INFO] [stderr] | [INFO] [stderr] 407 | let mut in_flag = false; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_in_flag` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/message.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | for (i, file) in (&files).iter().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `his_start_iter` [INFO] [stderr] --> src/chat_window.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | let (his_start_iter, mut his_end_iter) = text_view_history_clone.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_his_start_iter` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_path` [INFO] [stderr] --> src/chat_window.rs:109:63 [INFO] [stderr] | [INFO] [stderr] 109 | tree_view_received.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_tree_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_view_column` [INFO] [stderr] --> src/chat_window.rs:109:74 [INFO] [stderr] | [INFO] [stderr] 109 | tree_view_received.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_tree_view_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_time` [INFO] [stderr] --> src/chat_window.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | let local_time = chrono_time.with_timezone(&::chrono::Local); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_local_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_time` [INFO] [stderr] --> src/chat_window.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | let local_time = chrono_time.with_timezone(&::chrono::Local); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_local_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_str3` [INFO] [stderr] --> src/chat_window.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let ip_str3 = host_ip.clone(); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_ip_str3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `received_store` [INFO] [stderr] --> src/chat_window.rs:283:25 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_received_store` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `received_files` [INFO] [stderr] --> src/chat_window.rs:283:60 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_received_files` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `metadata` [INFO] [stderr] --> src/download.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let metadata: Metadata = fs::metadata(path)?; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_metadata` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_info` [INFO] [stderr] --> src/download.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | for path_info in path_infos { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_path_info` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `opt` [INFO] [stderr] --> src/download.rs:110:25 [INFO] [stderr] | [INFO] [stderr] 110 | let opt = constant::get_opt(file_attr); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_opt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/app.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let name = model.get_value(&iter, 0).get::().unwrap(); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_path` [INFO] [stderr] --> src/app.rs:122:49 [INFO] [stderr] | [INFO] [stderr] 122 | tree.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_tree_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_view_column` [INFO] [stderr] --> src/app.rs:122:60 [INFO] [stderr] | [INFO] [stderr] 122 | tree.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_tree_view_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `window_quit` [INFO] [stderr] --> src/app.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | let window_quit = window.clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_window_quit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `application` [INFO] [stderr] --> src/app.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn build_ui(application: >k::Application){ [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_application` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg_str` [INFO] [stderr] --> src/demons.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | let msg_str = if ext_vec.len() > 0 { ext_vec[0] } else { "" }; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_msg_str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/demons.rs:145:45 [INFO] [stderr] | [INFO] [stderr] 145 | let size = file_attr[2];//大小 [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/demons.rs:221:45 [INFO] [stderr] | [INFO] [stderr] 221 | let offset = file_attr[2].parse::().unwrap(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_offset` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `search_result` is never read [INFO] [stderr] --> src/demons.rs:222:49 [INFO] [stderr] | [INFO] [stderr] 222 | let mut search_result: Option = Option::None; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `search_result` is never read [INFO] [stderr] --> src/demons.rs:251:49 [INFO] [stderr] | [INFO] [stderr] 251 | let mut search_result: Option = Option::None; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/demons.rs:343:34 [INFO] [stderr] | [INFO] [stderr] 343 | let (start, mut end) = chat_win.his_view.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_flag` [INFO] [stderr] --> src/demons.rs:407:33 [INFO] [stderr] | [INFO] [stderr] 407 | let mut in_flag = false; [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_in_flag` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/message.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | for (i, file) in (&files).iter().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `his_start_iter` [INFO] [stderr] --> src/chat_window.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | let (his_start_iter, mut his_end_iter) = text_view_history_clone.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_his_start_iter` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_path` [INFO] [stderr] --> src/chat_window.rs:109:63 [INFO] [stderr] | [INFO] [stderr] 109 | tree_view_received.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_tree_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_view_column` [INFO] [stderr] --> src/chat_window.rs:109:74 [INFO] [stderr] | [INFO] [stderr] 109 | tree_view_received.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_tree_view_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_time` [INFO] [stderr] --> src/chat_window.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | let local_time = chrono_time.with_timezone(&::chrono::Local); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_local_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `local_time` [INFO] [stderr] --> src/chat_window.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | let local_time = chrono_time.with_timezone(&::chrono::Local); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_local_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_str3` [INFO] [stderr] --> src/chat_window.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let ip_str3 = host_ip.clone(); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_ip_str3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `received_store` [INFO] [stderr] --> src/chat_window.rs:283:25 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_received_store` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `received_files` [INFO] [stderr] --> src/chat_window.rs:283:60 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_received_files` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `metadata` [INFO] [stderr] --> src/download.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let metadata: Metadata = fs::metadata(path)?; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_metadata` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_info` [INFO] [stderr] --> src/download.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | for path_info in path_infos { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_path_info` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `opt` [INFO] [stderr] --> src/download.rs:110:25 [INFO] [stderr] | [INFO] [stderr] 110 | let opt = constant::get_opt(file_attr); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_opt` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/app.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let name = model.get_value(&iter, 0).get::().unwrap(); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_path` [INFO] [stderr] --> src/app.rs:122:49 [INFO] [stderr] | [INFO] [stderr] 122 | tree.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_tree_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tree_view_column` [INFO] [stderr] --> src/app.rs:122:60 [INFO] [stderr] | [INFO] [stderr] 122 | tree.connect_row_activated(move |tree_view, tree_path, tree_view_column| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_tree_view_column` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `window_quit` [INFO] [stderr] --> src/app.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | let window_quit = window.clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_window_quit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `application` [INFO] [stderr] --> src/app.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn build_ui(application: >k::Application){ [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_application` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/demons.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | let mut packet = Packet::from(String::from(v[0]), [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/demons.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | let mut packet = Packet::from(String::from(v[0]), [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/chat_window.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | let (start_iter, mut end_iter) = text_view_presend_clone.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | let mut base_file_location = path.to_path_buf(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | let mut buffer = BufReader::new(stream); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let mut path_infos = PathInfos{ [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | fn read_delimiter(mut stream : & mut BufReader) -> Result, DownLoadError> { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:155:15 [INFO] [stderr] | [INFO] [stderr] 155 | fn read_bytes(mut stream : & mut BufReader, len: u64) -> String { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:162:23 [INFO] [stderr] | [INFO] [stderr] 162 | fn read_bytes_to_file(mut stream : & mut BufReader, len: u64, file_path: &PathBuf) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/chat_window.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | let (start_iter, mut end_iter) = text_view_presend_clone.get_buffer().unwrap().get_bounds(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | let mut base_file_location = path.to_path_buf(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | let mut buffer = BufReader::new(stream); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let mut path_infos = PathInfos{ [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | fn read_delimiter(mut stream : & mut BufReader) -> Result, DownLoadError> { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:155:15 [INFO] [stderr] | [INFO] [stderr] 155 | fn read_bytes(mut stream : & mut BufReader, len: u64) -> String { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOOPERATION` [INFO] [stderr] --> src/constant.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub const IPMSG_NOOPERATION: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ABSENCE` [INFO] [stderr] --> src/constant.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub const IPMSG_BR_ABSENCE: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ISGETLIST` [INFO] [stderr] --> src/constant.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | pub const IPMSG_BR_ISGETLIST: u32 = 0x00000010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_OKGETLIST` [INFO] [stderr] --> src/constant.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub const IPMSG_OKGETLIST: u32 = 0x00000011; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETLIST` [INFO] [stderr] --> src/constant.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub const IPMSG_GETLIST: u32 = 0x00000012; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSLIST` [INFO] [stderr] --> src/constant.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub const IPMSG_ANSLIST: u32 = 0x00000013; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ISGETLIST2` [INFO] [stderr] --> src/constant.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub const IPMSG_BR_ISGETLIST2: u32 = 0x00000018; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_READMSG` [INFO] [stderr] --> src/constant.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub const IPMSG_READMSG: u32 = 0x00000030; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_DELMSG` [INFO] [stderr] --> src/constant.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub const IPMSG_DELMSG: u32 = 0x00000031; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSREADMSG` [INFO] [stderr] --> src/constant.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | pub const IPMSG_ANSREADMSG: u32 = 0x00000032; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETINFO` [INFO] [stderr] --> src/constant.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | pub const IPMSG_GETINFO: u32 = 0x00000040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SENDINFO` [INFO] [stderr] --> src/constant.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | pub const IPMSG_SENDINFO: u32 = 0x00000041; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETABSENCEINFO` [INFO] [stderr] --> src/constant.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | pub const IPMSG_GETABSENCEINFO: u32 = 0x00000050; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SENDABSENCEINFO` [INFO] [stderr] --> src/constant.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | pub const IPMSG_SENDABSENCEINFO: u32 = 0x00000051; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_RELEASEFILES` [INFO] [stderr] --> src/constant.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | pub const IPMSG_RELEASEFILES: u32 = 0x00000061; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETPUBKEY` [INFO] [stderr] --> src/constant.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | pub const IPMSG_GETPUBKEY: u32 = 0x00000072; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSPUBKEY` [INFO] [stderr] --> src/constant.rs:63:1 [INFO] [stderr] | [INFO] [stderr] 63 | pub const IPMSG_ANSPUBKEY: u32 = 0x00000073; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_SYMLINK` [INFO] [stderr] --> src/constant.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | pub const IPMSG_FILE_SYMLINK: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_CDEV` [INFO] [stderr] --> src/constant.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | pub const IPMSG_FILE_CDEV: u32 = 0x00000005;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_BDEV` [INFO] [stderr] --> src/constant.rs:71:1 [INFO] [stderr] | [INFO] [stderr] 71 | pub const IPMSG_FILE_BDEV: u32 = 0x00000006;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_FIFO` [INFO] [stderr] --> src/constant.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub const IPMSG_FILE_FIFO: u32 = 0x00000007;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_RESFORK` [INFO] [stderr] --> src/constant.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub const IPMSG_FILE_RESFORK: u32 = 0x00000010;// for mac [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_RONLYOPT` [INFO] [stderr] --> src/constant.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | pub const IPMSG_FILE_RONLYOPT: u32 = 0x00000100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_HIDDENOPT` [INFO] [stderr] --> src/constant.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | pub const IPMSG_FILE_HIDDENOPT: u32 = 0x00001000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_EXHIDDENOPT` [INFO] [stderr] --> src/constant.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | pub const IPMSG_FILE_EXHIDDENOPT: u32 = 0x00002000;// for MacOS X [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_ARCHIVEOPT` [INFO] [stderr] --> src/constant.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | pub const IPMSG_FILE_ARCHIVEOPT: u32 = 0x00004000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_SYSTEMOPT` [INFO] [stderr] --> src/constant.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub const IPMSG_FILE_SYSTEMOPT: u32 = 0x00008000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HOSTLIST_SEPARATOR` [INFO] [stderr] --> src/constant.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | pub const HOSTLIST_SEPARATOR: char = '\u{7}'; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ABSENCEOPT` [INFO] [stderr] --> src/constant.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | pub const IPMSG_ABSENCEOPT: u32 = 0x00000100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SERVEROPT` [INFO] [stderr] --> src/constant.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | pub const IPMSG_SERVEROPT: u32 = 0x00000200; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_DIALUPOPT` [INFO] [stderr] --> src/constant.rs:95:1 [INFO] [stderr] | [INFO] [stderr] 95 | pub const IPMSG_DIALUPOPT: u32 = 0x00010000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ENCRYPTOPT` [INFO] [stderr] --> src/constant.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | pub const IPMSG_ENCRYPTOPT: u32 = 0x00400000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_UTF8OPT` [INFO] [stderr] --> src/constant.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | pub const IPMSG_UTF8OPT: u32 = 0x00800000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPUTF8OPT` [INFO] [stderr] --> src/constant.rs:103:1 [INFO] [stderr] | [INFO] [stderr] 103 | pub const IPMSG_CAPUTF8OPT: u32 = 0x01000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ENCEXTMSGOPT` [INFO] [stderr] --> src/constant.rs:105:1 [INFO] [stderr] | [INFO] [stderr] 105 | pub const IPMSG_ENCEXTMSGOPT: u32 = 0x04000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CLIPBOARDOPT` [INFO] [stderr] --> src/constant.rs:107:1 [INFO] [stderr] | [INFO] [stderr] 107 | pub const IPMSG_CLIPBOARDOPT: u32 = 0x08000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/download.rs:162:23 [INFO] [stderr] | [INFO] [stderr] 162 | fn read_bytes_to_file(mut stream : & mut BufReader, len: u64, file_path: &PathBuf) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPFILEENC_OBSLT` [INFO] [stderr] --> src/constant.rs:108:1 [INFO] [stderr] | [INFO] [stderr] 108 | pub const IPMSG_CAPFILEENC_OBSLT: u32 = 0x00001000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPFILEENCOPT` [INFO] [stderr] --> src/constant.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | pub const IPMSG_CAPFILEENCOPT: u32 = 0x00040000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_MULTICASTOPT` [INFO] [stderr] --> src/constant.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | pub const IPMSG_MULTICASTOPT: u32 = 0x00000800; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_AUTORETOPT` [INFO] [stderr] --> src/constant.rs:121:1 [INFO] [stderr] | [INFO] [stderr] 121 | pub const IPMSG_AUTORETOPT: u32 = 0x00002000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_RETRYOPT` [INFO] [stderr] --> src/constant.rs:123:1 [INFO] [stderr] | [INFO] [stderr] 123 | pub const IPMSG_RETRYOPT: u32 = 0x00004000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_PASSWORDOPT` [INFO] [stderr] --> src/constant.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | pub const IPMSG_PASSWORDOPT: u32 = 0x00008000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOLOGOPT` [INFO] [stderr] --> src/constant.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | pub const IPMSG_NOLOGOPT: u32 = 0x00020000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOADDLISTOPT` [INFO] [stderr] --> src/constant.rs:129:1 [INFO] [stderr] | [INFO] [stderr] 129 | pub const IPMSG_NOADDLISTOPT: u32 = 0x00080000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_READCHECKOPT` [INFO] [stderr] --> src/constant.rs:131:1 [INFO] [stderr] | [INFO] [stderr] 131 | pub const IPMSG_READCHECKOPT: u32 = 0x00100000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SECRETEXOPT` [INFO] [stderr] --> src/constant.rs:132:1 [INFO] [stderr] | [INFO] [stderr] 132 | pub const IPMSG_SECRETEXOPT: u32 = IPMSG_READCHECKOPT|IPMSG_SECRETOPT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `ExtStr` [INFO] [stderr] --> src/model.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | type ExtStr = String; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `command` [INFO] [stderr] --> src/model.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn command(command_no: u32) -> PacketBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `command_opt` [INFO] [stderr] --> src/model.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | fn command_opt(mut self, ext_command_no: u32) -> PacketBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `modify_received_list` [INFO] [stderr] --> src/chat_window.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InValidType` [INFO] [stderr] --> src/download.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | InValidType, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `hostname` should have an upper case name [INFO] [stderr] --> src/constant.rs:160:20 [INFO] [stderr] | [INFO] [stderr] 160 | pub static ref hostname: String = get_host_name().unwrap(); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `HOSTNAME` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `localip` should have an upper case name [INFO] [stderr] --> src/constant.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | pub static ref localip: String = get_local_ip().unwrap().to_string(); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `LOCALIP` [INFO] [stderr] [INFO] [stderr] warning: static variable `addr` should have an upper case name [INFO] [stderr] --> src/constant.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | pub static ref addr: String = format!("{}{}", "0.0.0.0:", IPMSG_DEFAULT_PORT); [INFO] [stderr] | ^^^^ help: convert the identifier to upper case: `ADDR` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:61:33 [INFO] [stderr] | [INFO] [stderr] 61 | sender.send(packet); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | sender.send(OperUser::new(user, Operate::REMOVE)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:119:25 [INFO] [stderr] | [INFO] [stderr] 119 | sender.send(OperUser::new(user, Operate::ADD)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | sender.send(OperUser::new(user, Operate::ADD)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | remained_sender.send(received_packet_inner); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | buffer.write(util::utf8_to_gb18030(&make_header(&root_path)).as_slice());//root dir [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | buffer.write(util::utf8_to_gb18030(&header).as_slice()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | buffer.write(&buf[..bytes_read]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:302:5 [INFO] [stderr] | [INFO] [stderr] 302 | buffer.write("000D:.:0:3:0:".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `receivedPacketInner` should have a snake case name [INFO] [stderr] --> src/demons.rs:332:23 [INFO] [stderr] | [INFO] [stderr] 332 | if let Ok(receivedPacketInner) = rx.try_recv() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `received_packet_inner` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | socket_clone.send_to(packet.to_string().as_bytes(), addr.as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | socket_clone.send_to(::util::utf8_to_gb18030(packet.to_string().as_ref()).as_slice(), addr.as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:116:29 [INFO] [stderr] | [INFO] [stderr] 116 | fs::create_dir(&next_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | handler.read_to_end(&mut s_buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | f.write(&buf[..bytes_read]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/app.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | remained_sender1.send(ReceivedPacketInner::new(ip_str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOOPERATION` [INFO] [stderr] --> src/constant.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub const IPMSG_NOOPERATION: u32 = 0x00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ABSENCE` [INFO] [stderr] --> src/constant.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub const IPMSG_BR_ABSENCE: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ISGETLIST` [INFO] [stderr] --> src/constant.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | pub const IPMSG_BR_ISGETLIST: u32 = 0x00000010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_OKGETLIST` [INFO] [stderr] --> src/constant.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub const IPMSG_OKGETLIST: u32 = 0x00000011; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETLIST` [INFO] [stderr] --> src/constant.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub const IPMSG_GETLIST: u32 = 0x00000012; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSLIST` [INFO] [stderr] --> src/constant.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub const IPMSG_ANSLIST: u32 = 0x00000013; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_BR_ISGETLIST2` [INFO] [stderr] --> src/constant.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub const IPMSG_BR_ISGETLIST2: u32 = 0x00000018; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_READMSG` [INFO] [stderr] --> src/constant.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub const IPMSG_READMSG: u32 = 0x00000030; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_DELMSG` [INFO] [stderr] --> src/constant.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub const IPMSG_DELMSG: u32 = 0x00000031; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSREADMSG` [INFO] [stderr] --> src/constant.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | pub const IPMSG_ANSREADMSG: u32 = 0x00000032; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETINFO` [INFO] [stderr] --> src/constant.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | pub const IPMSG_GETINFO: u32 = 0x00000040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SENDINFO` [INFO] [stderr] --> src/constant.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | pub const IPMSG_SENDINFO: u32 = 0x00000041; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETABSENCEINFO` [INFO] [stderr] --> src/constant.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | pub const IPMSG_GETABSENCEINFO: u32 = 0x00000050; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SENDABSENCEINFO` [INFO] [stderr] --> src/constant.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | pub const IPMSG_SENDABSENCEINFO: u32 = 0x00000051; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_RELEASEFILES` [INFO] [stderr] --> src/constant.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | pub const IPMSG_RELEASEFILES: u32 = 0x00000061; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_GETPUBKEY` [INFO] [stderr] --> src/constant.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | pub const IPMSG_GETPUBKEY: u32 = 0x00000072; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ANSPUBKEY` [INFO] [stderr] --> src/constant.rs:63:1 [INFO] [stderr] | [INFO] [stderr] 63 | pub const IPMSG_ANSPUBKEY: u32 = 0x00000073; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_SYMLINK` [INFO] [stderr] --> src/constant.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | pub const IPMSG_FILE_SYMLINK: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_CDEV` [INFO] [stderr] --> src/constant.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | pub const IPMSG_FILE_CDEV: u32 = 0x00000005;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_BDEV` [INFO] [stderr] --> src/constant.rs:71:1 [INFO] [stderr] | [INFO] [stderr] 71 | pub const IPMSG_FILE_BDEV: u32 = 0x00000006;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_FIFO` [INFO] [stderr] --> src/constant.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub const IPMSG_FILE_FIFO: u32 = 0x00000007;// for UNIX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_RESFORK` [INFO] [stderr] --> src/constant.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub const IPMSG_FILE_RESFORK: u32 = 0x00000010;// for mac [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_RONLYOPT` [INFO] [stderr] --> src/constant.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | pub const IPMSG_FILE_RONLYOPT: u32 = 0x00000100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_HIDDENOPT` [INFO] [stderr] --> src/constant.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | pub const IPMSG_FILE_HIDDENOPT: u32 = 0x00001000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_EXHIDDENOPT` [INFO] [stderr] --> src/constant.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | pub const IPMSG_FILE_EXHIDDENOPT: u32 = 0x00002000;// for MacOS X [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_ARCHIVEOPT` [INFO] [stderr] --> src/constant.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | pub const IPMSG_FILE_ARCHIVEOPT: u32 = 0x00004000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_FILE_SYSTEMOPT` [INFO] [stderr] --> src/constant.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub const IPMSG_FILE_SYSTEMOPT: u32 = 0x00008000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HOSTLIST_SEPARATOR` [INFO] [stderr] --> src/constant.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | pub const HOSTLIST_SEPARATOR: char = '\u{7}'; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ABSENCEOPT` [INFO] [stderr] --> src/constant.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | pub const IPMSG_ABSENCEOPT: u32 = 0x00000100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SERVEROPT` [INFO] [stderr] --> src/constant.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | pub const IPMSG_SERVEROPT: u32 = 0x00000200; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_DIALUPOPT` [INFO] [stderr] --> src/constant.rs:95:1 [INFO] [stderr] | [INFO] [stderr] 95 | pub const IPMSG_DIALUPOPT: u32 = 0x00010000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ENCRYPTOPT` [INFO] [stderr] --> src/constant.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | pub const IPMSG_ENCRYPTOPT: u32 = 0x00400000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_UTF8OPT` [INFO] [stderr] --> src/constant.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | pub const IPMSG_UTF8OPT: u32 = 0x00800000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPUTF8OPT` [INFO] [stderr] --> src/constant.rs:103:1 [INFO] [stderr] | [INFO] [stderr] 103 | pub const IPMSG_CAPUTF8OPT: u32 = 0x01000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_ENCEXTMSGOPT` [INFO] [stderr] --> src/constant.rs:105:1 [INFO] [stderr] | [INFO] [stderr] 105 | pub const IPMSG_ENCEXTMSGOPT: u32 = 0x04000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CLIPBOARDOPT` [INFO] [stderr] --> src/constant.rs:107:1 [INFO] [stderr] | [INFO] [stderr] 107 | pub const IPMSG_CLIPBOARDOPT: u32 = 0x08000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPFILEENC_OBSLT` [INFO] [stderr] --> src/constant.rs:108:1 [INFO] [stderr] | [INFO] [stderr] 108 | pub const IPMSG_CAPFILEENC_OBSLT: u32 = 0x00001000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_CAPFILEENCOPT` [INFO] [stderr] --> src/constant.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | pub const IPMSG_CAPFILEENCOPT: u32 = 0x00040000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_MULTICASTOPT` [INFO] [stderr] --> src/constant.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | pub const IPMSG_MULTICASTOPT: u32 = 0x00000800; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_AUTORETOPT` [INFO] [stderr] --> src/constant.rs:121:1 [INFO] [stderr] | [INFO] [stderr] 121 | pub const IPMSG_AUTORETOPT: u32 = 0x00002000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_RETRYOPT` [INFO] [stderr] --> src/constant.rs:123:1 [INFO] [stderr] | [INFO] [stderr] 123 | pub const IPMSG_RETRYOPT: u32 = 0x00004000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_PASSWORDOPT` [INFO] [stderr] --> src/constant.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | pub const IPMSG_PASSWORDOPT: u32 = 0x00008000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOLOGOPT` [INFO] [stderr] --> src/constant.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | pub const IPMSG_NOLOGOPT: u32 = 0x00020000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_NOADDLISTOPT` [INFO] [stderr] --> src/constant.rs:129:1 [INFO] [stderr] | [INFO] [stderr] 129 | pub const IPMSG_NOADDLISTOPT: u32 = 0x00080000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_READCHECKOPT` [INFO] [stderr] --> src/constant.rs:131:1 [INFO] [stderr] | [INFO] [stderr] 131 | pub const IPMSG_READCHECKOPT: u32 = 0x00100000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `IPMSG_SECRETEXOPT` [INFO] [stderr] --> src/constant.rs:132:1 [INFO] [stderr] | [INFO] [stderr] 132 | pub const IPMSG_SECRETEXOPT: u32 = IPMSG_READCHECKOPT|IPMSG_SECRETOPT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `ExtStr` [INFO] [stderr] --> src/model.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | type ExtStr = String; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `command` [INFO] [stderr] --> src/model.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn command(command_no: u32) -> PacketBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `command_opt` [INFO] [stderr] --> src/model.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | fn command_opt(mut self, ext_command_no: u32) -> PacketBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `modify_received_list` [INFO] [stderr] --> src/chat_window.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn modify_received_list(received_store :Option, received_files: Arc>>) -> ::glib::Continue { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InValidType` [INFO] [stderr] --> src/download.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | InValidType, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `hostname` should have an upper case name [INFO] [stderr] --> src/constant.rs:160:20 [INFO] [stderr] | [INFO] [stderr] 160 | pub static ref hostname: String = get_host_name().unwrap(); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `HOSTNAME` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `localip` should have an upper case name [INFO] [stderr] --> src/constant.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | pub static ref localip: String = get_local_ip().unwrap().to_string(); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `LOCALIP` [INFO] [stderr] [INFO] [stderr] warning: static variable `addr` should have an upper case name [INFO] [stderr] --> src/constant.rs:162:20 [INFO] [stderr] | [INFO] [stderr] 162 | pub static ref addr: String = format!("{}{}", "0.0.0.0:", IPMSG_DEFAULT_PORT); [INFO] [stderr] | ^^^^ help: convert the identifier to upper case: `ADDR` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:61:33 [INFO] [stderr] | [INFO] [stderr] 61 | sender.send(packet); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:100:25 [INFO] [stderr] | [INFO] [stderr] 100 | sender.send(OperUser::new(user, Operate::REMOVE)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:119:25 [INFO] [stderr] | [INFO] [stderr] 119 | sender.send(OperUser::new(user, Operate::ADD)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | sender.send(OperUser::new(user, Operate::ADD)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | remained_sender.send(received_packet_inner); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | buffer.write(util::utf8_to_gb18030(&make_header(&root_path)).as_slice());//root dir [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:288:17 [INFO] [stderr] | [INFO] [stderr] 288 | buffer.write(util::utf8_to_gb18030(&header).as_slice()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | buffer.write(&buf[..bytes_read]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/demons.rs:302:5 [INFO] [stderr] | [INFO] [stderr] 302 | buffer.write("000D:.:0:3:0:".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `receivedPacketInner` should have a snake case name [INFO] [stderr] --> src/demons.rs:332:23 [INFO] [stderr] | [INFO] [stderr] 332 | if let Ok(receivedPacketInner) = rx.try_recv() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `received_packet_inner` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message.rs:21:17 [INFO] [stderr] | [INFO] [stderr] 21 | socket_clone.send_to(packet.to_string().as_bytes(), addr.as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/message.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | socket_clone.send_to(::util::utf8_to_gb18030(packet.to_string().as_ref()).as_slice(), addr.as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:116:29 [INFO] [stderr] | [INFO] [stderr] 116 | fs::create_dir(&next_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 158 | handler.read_to_end(&mut s_buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/download.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | f.write(&buf[..bytes_read]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/app.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | remained_sender1.send(ReceivedPacketInner::new(ip_str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `"docker" "inspect" "f43cf30bdf1fe9fe8fcecc6c97a6db21ae8c18a35e2b8b5b3e83d1238ad37adc"` [INFO] running `"docker" "rm" "-f" "f43cf30bdf1fe9fe8fcecc6c97a6db21ae8c18a35e2b8b5b3e83d1238ad37adc"` [INFO] [stdout] f43cf30bdf1fe9fe8fcecc6c97a6db21ae8c18a35e2b8b5b3e83d1238ad37adc