fix(shadowsocks): check mptcp socket() return value #1
clippy ubuntu-latest
9 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 0 |
Warning | 9 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.81.0 (eeb90cda1 2024-09-04)
- cargo 1.81.0 (2dbb1af80 2024-08-20)
- clippy 0.1.81 (eeb90cd 2024-09-04)
Annotations
Check warning on line 172 in crates/shadowsocks-service/src/local/tun/tcp.rs
github-actions / clippy ubuntu-latest
transmute used without annotations
warning: transmute used without annotations
--> crates/shadowsocks-service/src/local/tun/tcp.rs:172:38
|
172 | let recv_buf = unsafe { mem::transmute::<_, &mut [u8]>(buf.unfilled_mut()) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider adding missing annotations: `transmute::<&mut [std::mem::MaybeUninit<u8>], &mut [u8]>`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations
= note: `#[warn(clippy::missing_transmute_annotations)]` on by default
Check warning on line 117 in crates/shadowsocks-service/src/local/socks/server/mod.rs
github-actions / clippy ubuntu-latest
unnecessary closure used to substitute value for `Option::None`
warning: unnecessary closure used to substitute value for `Option::None`
--> crates/shadowsocks-service/src/local/socks/server/mod.rs:114:46
|
114 | let udp_associate_addr: ServerAddr = self
| ______________________________________________^
115 | | .udp_associate_addr
116 | | .as_ref()
117 | | .or_else(|| self.udp_bind_addr.as_ref())
| |______________--------------------------------------^
| |
| help: use `or(..)` instead: `or(self.udp_bind_addr.as_ref())`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations
Check warning on line 118 in crates/shadowsocks-service/src/local/socks/server/mod.rs
github-actions / clippy ubuntu-latest
unnecessary closure used to substitute value for `Option::None`
warning: unnecessary closure used to substitute value for `Option::None`
--> crates/shadowsocks-service/src/local/socks/server/mod.rs:114:46
|
114 | let udp_associate_addr: ServerAddr = self
| ______________________________________________^
115 | | .udp_associate_addr
116 | | .as_ref()
117 | | .or_else(|| self.udp_bind_addr.as_ref())
118 | | .unwrap_or_else(|| &self.client_config)
| |______________-------------------------------------^
| |
| help: use `unwrap_or(..)` instead: `unwrap_or(&self.client_config)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations
= note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default
Check warning on line 86 in crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/linux.rs
github-actions / clippy ubuntu-latest
this `match` can be collapsed into the outer `if let`
warning: this `match` can be collapsed into the outer `if let`
--> crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/linux.rs:77:21
|
77 | / match errno {
78 | | libc::ENOPROTOOPT => {
79 | | // SO_REUSEPORT is supported after 3.9
80 | | trace!("failed to set SO_REUSEPORT, error: {}", err);
... |
85 | | }
86 | | }
| |_____________________^
|
help: the outer pattern can be modified to include the inner pattern
--> crates/shadowsocks-service/src/local/redir/udprelay/sys/unix/linux.rs:76:29
|
76 | if let Some(errno) = err.raw_os_error() {
| ^^^^^ replace this binding
77 | match errno {
78 | libc::ENOPROTOOPT => {
| ^^^^^^^^^^^^^^^^^ with this pattern
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
= note: `#[warn(clippy::collapsible_match)]` on by default
Check warning on line 191 in crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs
github-actions / clippy ubuntu-latest
casting the result of `i32::abs()` to u32
warning: casting the result of `i32::abs()` to u32
--> crates/shadowsocks-service/src/local/loadbalancing/server_stat.rs:191:30
|
191 | .map(|s| (*s as i32 - self.data.latency_median as i32).abs() as u32)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(*s as i32 - self.data.latency_median as i32).unsigned_abs()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned
= note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default
Check warning on line 69 in crates/shadowsocks-service/src/local/loadbalancing/server_data.rs
github-actions / clippy ubuntu-latest
using `clone` on type `ServerStatData` which implements the `Copy` trait
warning: using `clone` on type `ServerStatData` which implements the `Copy` trait
--> crates/shadowsocks-service/src/local/loadbalancing/server_data.rs:69:9
|
69 | self.stat_data.lock().await.data().clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.stat_data.lock().await.data()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
Check warning on line 56 in crates/shadowsocks-service/src/local/loadbalancing/server_data.rs
github-actions / clippy ubuntu-latest
using `clone` on type `ServerStatData` which implements the `Copy` trait
warning: using `clone` on type `ServerStatData` which implements the `Copy` trait
--> crates/shadowsocks-service/src/local/loadbalancing/server_data.rs:56:38
|
56 | (stat.push_score(score), stat.data().clone())
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*stat.data()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
Check warning on line 919 in crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs
github-actions / clippy ubuntu-latest
redundant pattern matching, consider using `is_ok()`
warning: redundant pattern matching, consider using `is_ok()`
--> crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs:919:16
|
919 | if let Ok(..) = response.parse(&buf) {
| -------^^^^^^----------------------- help: try: `if response.parse(&buf).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
Check warning on line 878 in crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs
github-actions / clippy ubuntu-latest
redundant pattern matching, consider using `is_ok()`
warning: redundant pattern matching, consider using `is_ok()`
--> crates/shadowsocks-service/src/local/loadbalancing/ping_balancer.rs:878:16
|
878 | if let Ok(..) = response.parse(&buf) {
| -------^^^^^^----------------------- help: try: `if response.parse(&buf).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default