Skip to content

feat(volo-cli): init for generated codes as a git repo (#254) #628

feat(volo-cli): init for generated codes as a git repo (#254)

feat(volo-cli): init for generated codes as a git repo (#254) #628

Triggered via push November 2, 2023 14:06
Status Success
Total duration 8m 52s
Artifacts

ci.yaml

on: push
Fit to window
Zoom out
Zoom in

Annotations

68 warnings
using `clone` on type `DefaultMakeTransport` which implements the `Copy` trait: volo-grpc/src/transport/connect.rs#L113
warning: using `clone` on type `DefaultMakeTransport` which implements the `Copy` trait --> volo-grpc/src/transport/connect.rs:113:31 | 113 | let mk_conn = mk_conn.clone(); | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*mk_conn` | = 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
use of `unwrap_or_else` to construct default value: volo-grpc/src/status.rs#L454
warning: use of `unwrap_or_else` to construct default value --> volo-grpc/src/status.rs:454:18 | 454 | .unwrap_or_else(Bytes::new); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default = note: `#[warn(clippy::unwrap_or_default)]` on by default
try not to call a closure in the expression where it is declared: volo-thrift/src/codec/default/mod.rs#L136
warning: try not to call a closure in the expression where it is declared --> volo-thrift/src/codec/default/mod.rs:136:28 | 136 | let write_result = (|| async { | ____________________________^ 137 | | self.linked_bytes.reset(); 138 | | // then we reserve the size of the message in the linked bytes 139 | | self.linked_bytes.reserve(malloc_size); ... | 158 | | Ok::<(), crate::Error>(()) 159 | | })() | |____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call = note: `#[warn(clippy::redundant_closure_call)]` on by default help: try doing something like | 136 ~ let write_result = async async { 137 + self.linked_bytes.reset(); 138 + // then we reserve the size of the message in the linked bytes 139 + self.linked_bytes.reserve(malloc_size); 140 + // after that, we encode the message into the linked bytes 141 + self.encoder 142 + .encode(cx, &mut self.linked_bytes, msg) 143 + .map_err(|e| { 144 + // record the error time 145 + cx.stats_mut().record_encode_end_at(); 146 + e 147 + })?; 148 + 149 + cx.stats_mut().record_encode_end_at(); 150 + cx.stats_mut().record_write_start_at(); // encode end is also write start 151 + 152 + self.linked_bytes 153 + .write_all_vectored(&mut self.writer) 154 + .await 155 + .map_err(TransportError::from)?; 156 + self.writer.flush().await.map_err(TransportError::from)?; 157 + 158 + Ok::<(), crate::Error>(()) 159 + } |
unneeded `return` statement: volo-thrift/src/codec/default/ttheader.rs#L136
warning: unneeded `return` statement --> volo-thrift/src/codec/default/ttheader.rs:136:13 | 136 | return self.inner.decode_async(cx, reader).await; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 136 - return self.inner.decode_async(cx, reader).await; 136 + self.inner.decode_async(cx, reader).await |
unneeded `return` statement: volo-thrift/src/codec/default/framed.rs#L140
warning: unneeded `return` statement --> volo-thrift/src/codec/default/framed.rs:140:13 | 140 | return self.inner.decode_async(cx, reader).await; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 140 - return self.inner.decode_async(cx, reader).await; 140 + self.inner.decode_async(cx, reader).await |
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`: volo-thrift/src/client/mod.rs#L602
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)` --> volo-thrift/src/client/mod.rs:602:13 | 602 | / cache 603 | | .pop() 604 | | .and_then(|mut cx| { 605 | | // The generated code only push the cx to the cache, we need to reset ... | 634 | | Some(cx) 635 | | }) | |__________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map = note: `#[warn(clippy::bind_instead_of_map)]` on by default help: try | 604 ~ .map(|mut cx| { 605 | // The generated code only push the cx to the cache, we need to reset ... 633 | cx.rpc_info_mut().method = Some(FastStr::from_static_str(method)); 634 ~ cx |
use of `or_insert_with` to construct default value: volo-thrift/src/transport/pool/mod.rs#L540
warning: use of `or_insert_with` to construct default value --> volo-thrift/src/transport/pool/mod.rs:540:45 | 540 | let idle = self.idle.entry(key).or_insert_with(Vec::new); | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default = note: `#[warn(clippy::unwrap_or_default)]` on by default
this function has too many arguments (8/7): volo-thrift/src/transport/pingpong/server.rs#L21
warning: this function has too many arguments (8/7) --> volo-thrift/src/transport/pingpong/server.rs:21:1 | 21 | / pub async fn serve<Svc, Req, Resp, E, D, SP>( 22 | | mut encoder: E, 23 | | mut decoder: D, 24 | | notified: Notified<'_>, ... | 36 | | D: Decoder, 37 | | SP: SpanProvider, | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
useless conversion to the same type: `volo::FastStr`: volo-build/src/thrift_backend.rs#L163
warning: useless conversion to the same type: `volo::FastStr` --> volo-build/src/thrift_backend.rs:163:66 | 163 | let decode_item = helper.codegen_item_decode(args_name.clone().into()); | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `args_name.clone()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
useless conversion to the same type: `volo::FastStr`: volo-build/src/thrift_backend.rs#L62
warning: useless conversion to the same type: `volo::FastStr` --> volo-build/src/thrift_backend.rs:62:70 | 62 | let decode_variants = helper.codegen_item_decode(args_name.clone().into()); | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `args_name.clone()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
unused imports: `TFieldIdentifier`, `TListIdentifier`, `TMapIdentifier`, `TSetIdentifier`, `TStructIdentifier`, `TType`: volo-thrift/src/protocol/mod.rs#L3
warning: unused imports: `TFieldIdentifier`, `TListIdentifier`, `TMapIdentifier`, `TSetIdentifier`, `TStructIdentifier`, `TType` --> volo-thrift/src/protocol/mod.rs:3:13 | 3 | binary, TFieldIdentifier, TInputProtocol, TLengthProtocol, TListIdentifier, TMapIdentifier, | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ 4 | TMessageIdentifier, TMessageType, TOutputProtocol, TSetIdentifier, TStructIdentifier, TType, | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^
unused import: `binary::TBinaryProtocol`: volo-thrift/src/protocol/mod.rs#L1
warning: unused import: `binary::TBinaryProtocol` --> volo-thrift/src/protocol/mod.rs:1:9 | 1 | pub use binary::TBinaryProtocol; | ^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
this function can be simplified using the `async fn` syntax: volo/src/client.rs#L49
warning: this function can be simplified using the `async fn` syntax --> volo/src/client.rs:49:5 | 49 | / fn call<'cx>( 50 | | self, 51 | | cx: &'cx mut Cx, 52 | | req: Req, 53 | | ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send { | |_________________________________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn = note: `#[warn(clippy::manual_async_fn)]` on by default help: make the function `async` and return the output of the future directly | 49 ~ async fn call<'cx>( 50 + self, 51 + cx: &'cx mut Cx, 52 + req: Req, 53 ~ ) -> Result<Self::Response, Self::Error> { | help: move the body of the async block to the enclosing function | 53 ~ ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send { 54 + self.opt.apply(cx)?; 55 + self.inner.call(cx, req).await 56 + } |
the following explicit lifetimes could be elided: 'cx: volo/src/client.rs#L49
warning: the following explicit lifetimes could be elided: 'cx --> volo/src/client.rs:49:13 | 49 | fn call<'cx>( | ^^^ 50 | self, 51 | cx: &'cx mut Cx, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 49 ~ fn call'_>( 50 | self, 51 ~ cx: &mut Cx, |
the following explicit lifetimes could be elided: 'cx: volo/src/client.rs#L30
warning: the following explicit lifetimes could be elided: 'cx --> volo/src/client.rs:30:13 | 30 | fn call<'cx>( | ^^^ 31 | self, 32 | cx: &'cx mut Cx, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 30 ~ fn call'_>( 31 | self, 32 ~ cx: &mut Cx, |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L415
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:415:17 | 415 | return Err(e); | ^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 415 - return Err(e); 415 + Err(e) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L409
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:409:17 | 409 | / return Err(io::Error::new( 410 | | io::ErrorKind::InvalidData, 411 | | "Not PassFdResponse", 412 | | )); | |__________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 409 ~ Err(io::Error::new( 410 + io::ErrorKind::InvalidData, 411 + "Not PassFdResponse", 412 ~ )) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L406
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:406:17 | 406 | return Ok(Some(fd)); | ^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 406 - return Ok(Some(fd)); 406 + Ok(Some(fd)) |
useless conversion to the same type: `std::io::Error`: volo/src/hotrestart/mod.rs#L279
warning: useless conversion to the same type: `std::io::Error` --> volo/src/hotrestart/mod.rs:279:28 | 279 | return Err(e.into()); | ^^^^^^^^ help: consider removing `.into()`: `e` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
unneeded `return` statement: volo/src/hotrestart/mod.rs#L279
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:279:17 | 279 | return Err(e.into()); | ^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 279 - return Err(e.into()); 279 + Err(e.into()) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L274
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:274:25 | 274 | return Err(io::Error::new(io::ErrorKind::InvalidData, e.message)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 274 - return Err(io::Error::new(io::ErrorKind::InvalidData, e.message)); 274 + Err(io::Error::new(io::ErrorKind::InvalidData, e.message)) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L270
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:270:29 | 270 | ... return Ok(HotRestartMessage::TerminateParentRequest); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 270 - return Ok(HotRestartMessage::TerminateParentRequest); 270 + Ok(HotRestartMessage::TerminateParentRequest) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L263
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:263:33 | 263 | / ... return Err(io::Error::new( 264 | | ... io::ErrorKind::InvalidData, 265 | | ... "PassFdResponse without fd", 266 | | ... )); | |________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 263 ~ Err(io::Error::new( 264 + io::ErrorKind::InvalidData, 265 + "PassFdResponse without fd", 266 ~ )) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L261
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:261:33 | 261 | ... return Ok(HotRestartMessage::PassFdResponse(fd)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 261 - return Ok(HotRestartMessage::PassFdResponse(fd)); 261 + Ok(HotRestartMessage::PassFdResponse(fd)) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L250
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:250:29 | 250 | ... return Ok(HotRestartMessage::PassFdRequest(addr)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 250 - return Ok(HotRestartMessage::PassFdRequest(addr)); 250 + Ok(HotRestartMessage::PassFdRequest(addr)) |
you should consider adding a `Default` implementation for `HotRestart`: volo/src/hotrestart/mod.rs#L107
warning: you should consider adding a `Default` implementation for `HotRestart` --> volo/src/hotrestart/mod.rs:107:5 | 107 | / pub fn new() -> Self { 108 | | HotRestart { 109 | | state: Arc::new(Mutex::new(HotRestartState::Uninitalized)), 110 | | listener_fds: Arc::new(StdMutex::new(HashMap::new())), ... | 116 | | } 117 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 106 + impl Default for HotRestart { 107 + fn default() -> Self { 108 + Self::new() 109 + } 110 + } |
the borrowed expression implements the required traits: volo/src/net/incoming.rs#L298
warning: the borrowed expression implements the required traits --> volo/src/net/incoming.rs:298:34 | 298 | std::fs::remove_file(&path)?; | ^^^^^ help: change this to: `path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L239
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:239:13 | 239 | libc::SOMAXCONN as i32 | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L229
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:229:20 | 229 | return libc::SOMAXCONN as i32; | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L222
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:222:30 | 222 | Err(_) => return libc::SOMAXCONN as i32, | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
manual `RangeInclusive::contains` implementation: volo/src/net/incoming.rs#L156
warning: manual `RangeInclusive::contains` implementation --> volo/src/net/incoming.rs:156:16 | 156 | if b'0' <= c && c <= b'9' { | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains = note: `#[warn(clippy::manual_range_contains)]` on by default
constants have by default a `'static` lifetime: volo/src/hotrestart/mod.rs#L33
warning: constants have by default a `'static` lifetime --> volo/src/hotrestart/mod.rs:33:32 | 33 | const HOT_RESTART_CHILD_ADDR: &'static str = "volo_hot_restart_child.sock"; | -^^^^^^^---- help: consider removing `'static`: `&str` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
constants have by default a `'static` lifetime: volo/src/hotrestart/mod.rs#L32
warning: constants have by default a `'static` lifetime --> volo/src/hotrestart/mod.rs:32:33 | 32 | const HOT_RESTART_PARENT_ADDR: &'static str = "volo_hot_restart_parent.sock"; | -^^^^^^^---- help: consider removing `'static`: `&str` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default
useless conversion to the same type: `volo::FastStr`: volo-build/src/thrift_backend.rs#L163
warning: useless conversion to the same type: `volo::FastStr` --> volo-build/src/thrift_backend.rs:163:66 | 163 | let decode_item = helper.codegen_item_decode(args_name.clone().into()); | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `args_name.clone()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
useless conversion to the same type: `volo::FastStr`: volo-build/src/thrift_backend.rs#L62
warning: useless conversion to the same type: `volo::FastStr` --> volo-build/src/thrift_backend.rs:62:70 | 62 | let decode_variants = helper.codegen_item_decode(args_name.clone().into()); | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `args_name.clone()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
this function can be simplified using the `async fn` syntax: volo/src/client.rs#L49
warning: this function can be simplified using the `async fn` syntax --> volo/src/client.rs:49:5 | 49 | / fn call<'cx>( 50 | | self, 51 | | cx: &'cx mut Cx, 52 | | req: Req, 53 | | ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send { | |_________________________________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn = note: `#[warn(clippy::manual_async_fn)]` on by default help: make the function `async` and return the output of the future directly | 49 ~ async fn call<'cx>( 50 + self, 51 + cx: &'cx mut Cx, 52 + req: Req, 53 ~ ) -> Result<Self::Response, Self::Error> { | help: move the body of the async block to the enclosing function | 53 ~ ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send { 54 + self.opt.apply(cx)?; 55 + self.inner.call(cx, req).await 56 + } |
the following explicit lifetimes could be elided: 'cx: volo/src/client.rs#L49
warning: the following explicit lifetimes could be elided: 'cx --> volo/src/client.rs:49:13 | 49 | fn call<'cx>( | ^^^ 50 | self, 51 | cx: &'cx mut Cx, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 49 ~ fn call'_>( 50 | self, 51 ~ cx: &mut Cx, |
the following explicit lifetimes could be elided: 'cx: volo/src/client.rs#L30
warning: the following explicit lifetimes could be elided: 'cx --> volo/src/client.rs:30:13 | 30 | fn call<'cx>( | ^^^ 31 | self, 32 | cx: &'cx mut Cx, | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes = note: `#[warn(clippy::needless_lifetimes)]` on by default help: elide the lifetimes | 30 ~ fn call'_>( 31 | self, 32 ~ cx: &mut Cx, |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L415
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:415:17 | 415 | return Err(e); | ^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 415 - return Err(e); 415 + Err(e) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L409
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:409:17 | 409 | / return Err(io::Error::new( 410 | | io::ErrorKind::InvalidData, 411 | | "Not PassFdResponse", 412 | | )); | |__________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 409 ~ Err(io::Error::new( 410 + io::ErrorKind::InvalidData, 411 + "Not PassFdResponse", 412 ~ )) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L406
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:406:17 | 406 | return Ok(Some(fd)); | ^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 406 - return Ok(Some(fd)); 406 + Ok(Some(fd)) |
useless conversion to the same type: `std::io::Error`: volo/src/hotrestart/mod.rs#L279
warning: useless conversion to the same type: `std::io::Error` --> volo/src/hotrestart/mod.rs:279:28 | 279 | return Err(e.into()); | ^^^^^^^^ help: consider removing `.into()`: `e` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
unneeded `return` statement: volo/src/hotrestart/mod.rs#L279
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:279:17 | 279 | return Err(e.into()); | ^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 279 - return Err(e.into()); 279 + Err(e.into()) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L274
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:274:25 | 274 | return Err(io::Error::new(io::ErrorKind::InvalidData, e.message)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 274 - return Err(io::Error::new(io::ErrorKind::InvalidData, e.message)); 274 + Err(io::Error::new(io::ErrorKind::InvalidData, e.message)) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L270
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:270:29 | 270 | ... return Ok(HotRestartMessage::TerminateParentRequest); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 270 - return Ok(HotRestartMessage::TerminateParentRequest); 270 + Ok(HotRestartMessage::TerminateParentRequest) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L263
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:263:33 | 263 | / ... return Err(io::Error::new( 264 | | ... io::ErrorKind::InvalidData, 265 | | ... "PassFdResponse without fd", 266 | | ... )); | |________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 263 ~ Err(io::Error::new( 264 + io::ErrorKind::InvalidData, 265 + "PassFdResponse without fd", 266 ~ )) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L261
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:261:33 | 261 | ... return Ok(HotRestartMessage::PassFdResponse(fd)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 261 - return Ok(HotRestartMessage::PassFdResponse(fd)); 261 + Ok(HotRestartMessage::PassFdResponse(fd)) |
unneeded `return` statement: volo/src/hotrestart/mod.rs#L250
warning: unneeded `return` statement --> volo/src/hotrestart/mod.rs:250:29 | 250 | ... return Ok(HotRestartMessage::PassFdRequest(addr)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 250 - return Ok(HotRestartMessage::PassFdRequest(addr)); 250 + Ok(HotRestartMessage::PassFdRequest(addr)) |
you should consider adding a `Default` implementation for `HotRestart`: volo/src/hotrestart/mod.rs#L107
warning: you should consider adding a `Default` implementation for `HotRestart` --> volo/src/hotrestart/mod.rs:107:5 | 107 | / pub fn new() -> Self { 108 | | HotRestart { 109 | | state: Arc::new(Mutex::new(HotRestartState::Uninitalized)), 110 | | listener_fds: Arc::new(StdMutex::new(HashMap::new())), ... | 116 | | } 117 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default = note: `#[warn(clippy::new_without_default)]` on by default help: try adding this | 106 + impl Default for HotRestart { 107 + fn default() -> Self { 108 + Self::new() 109 + } 110 + } |
the borrowed expression implements the required traits: volo/src/net/incoming.rs#L298
warning: the borrowed expression implements the required traits --> volo/src/net/incoming.rs:298:34 | 298 | std::fs::remove_file(&path)?; | ^^^^^ help: change this to: `path` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L239
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:239:13 | 239 | libc::SOMAXCONN as i32 | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L229
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:229:20 | 229 | return libc::SOMAXCONN as i32; | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
casting to the same type is unnecessary (`i32` -> `i32`): volo/src/net/incoming.rs#L222
warning: casting to the same type is unnecessary (`i32` -> `i32`) --> volo/src/net/incoming.rs:222:30 | 222 | Err(_) => return libc::SOMAXCONN as i32, | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `libc::SOMAXCONN` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast = note: `#[warn(clippy::unnecessary_cast)]` on by default
manual `RangeInclusive::contains` implementation: volo/src/net/incoming.rs#L156
warning: manual `RangeInclusive::contains` implementation --> volo/src/net/incoming.rs:156:16 | 156 | if b'0' <= c && c <= b'9' { | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `(b'0'..=b'9').contains(&c)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains = note: `#[warn(clippy::manual_range_contains)]` on by default
constants have by default a `'static` lifetime: volo/src/hotrestart/mod.rs#L33
warning: constants have by default a `'static` lifetime --> volo/src/hotrestart/mod.rs:33:32 | 33 | const HOT_RESTART_CHILD_ADDR: &'static str = "volo_hot_restart_child.sock"; | -^^^^^^^---- help: consider removing `'static`: `&str` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
constants have by default a `'static` lifetime: volo/src/hotrestart/mod.rs#L32
warning: constants have by default a `'static` lifetime --> volo/src/hotrestart/mod.rs:32:33 | 32 | const HOT_RESTART_PARENT_ADDR: &'static str = "volo_hot_restart_parent.sock"; | -^^^^^^^---- help: consider removing `'static`: `&str` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default
lint
This self-hosted runner is currently using runner version 2.309.0. This version is out of date. Please update to the latest version 2.311.0
lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
test-linux
This self-hosted runner is currently using runner version 2.309.0. This version is out of date. Please update to the latest version 2.311.0
test-linux-aarch64
This self-hosted runner is currently using runner version 2.309.0. This version is out of date. Please update to the latest version 2.311.0
test-windows
The following actions uses node12 which is deprecated and will be forced to run on node16: Swatinem/rust-cache@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
test-windows
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test-windows
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test-windows
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test-macos
The following actions uses node12 which is deprecated and will be forced to run on node16: Swatinem/rust-cache@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
test-macos
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test-macos
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
test-macos
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/