From 1a42009e9f729661868d339c77f5b6fc8757cebe Mon Sep 17 00:00:00 2001 From: Sergio Benitez Date: Tue, 8 Jun 2021 02:52:47 -0700 Subject: [PATCH] Fix various generated and direct clippy warnings. --- core/codegen/src/attribute/entry/launch.rs | 2 +- core/codegen/src/derive/from_form.rs | 33 +++++++++------------- examples/chat/src/main.rs | 2 +- examples/databases/src/rusqlite.rs | 6 ++-- examples/forms/src/main.rs | 2 +- examples/manual-routing/src/main.rs | 18 ++++++------ examples/pastebin/src/paste_id.rs | 7 ++--- examples/responders/src/main.rs | 2 +- examples/serialization/src/json.rs | 2 +- examples/serialization/src/msgpack.rs | 2 +- examples/serialization/src/uuid.rs | 4 +-- 11 files changed, 37 insertions(+), 43 deletions(-) diff --git a/core/codegen/src/attribute/entry/launch.rs b/core/codegen/src/attribute/entry/launch.rs index 09a40160..ca55d615 100644 --- a/core/codegen/src/attribute/entry/launch.rs +++ b/core/codegen/src/attribute/entry/launch.rs @@ -51,7 +51,7 @@ impl EntryAttr for Launch { #[allow(dead_code)] #f #vis #sig { - ::rocket::async_main(async move { let _ = #rocket.launch().await; }) + ::rocket::async_main(async move { let _res = #rocket.launch().await; }) } )) } diff --git a/core/codegen/src/derive/from_form.rs b/core/codegen/src/derive/from_form.rs index c0ef555f..6afbf656 100644 --- a/core/codegen/src/derive/from_form.rs +++ b/core/codegen/src/derive/from_form.rs @@ -12,8 +12,8 @@ fn fields_map(fields: Fields<'_>, map_f: F) -> Result for field in fields.iter() { let (ident, ty) = (field.ident(), field.stripped_ty()); let field_context = quote_spanned!(ty.span() => { - let _o = __c.__opts; - __c.#ident.get_or_insert_with(|| <#ty as #_form::FromForm<'__f>>::init(_o)) + let __o = __c.__opts; + __c.#ident.get_or_insert_with(|| <#ty as #_form::FromForm<'__f>>::init(__o)) }); let field_names = field.field_names()?; @@ -32,7 +32,7 @@ fn fields_map(fields: Fields<'_>, map_f: F) -> Result match __f.name.key_lossy().as_str() { #(#matchers,)* - _k if _k == "_method" || !__c.__opts.strict => { /* ok */ }, + __k if __k == "_method" || !__c.__opts.strict => { /* ok */ }, _ => __c.__errors.push(__f.unexpected()), } }) @@ -205,7 +205,7 @@ pub fn derive_from_form(input: proc_macro::TokenStream) -> TokenStream { Ok(quote_spanned! { fields.span() => #(let #ident = match #finalize_field { #_ok(#ident) => #_some(#ident), - #_err(_e) => { __c.__errors.extend(_e); #_none } + #_err(__e) => { __c.__errors.extend(__e); #_none } };)* if !__c.__errors.is_empty() { @@ -215,8 +215,8 @@ pub fn derive_from_form(input: proc_macro::TokenStream) -> TokenStream { let #o = Self { #(#ident: #ident.unwrap()),* }; #( - if let #_err(_e) = #validate { - __c.__errors.extend(_e.with_name(#name_view)); + if let #_err(__e) = #validate { + __c.__errors.extend(__e.with_name(#name_view)); } )* @@ -240,24 +240,19 @@ pub fn derive_from_form(input: proc_macro::TokenStream) -> TokenStream { let __name = #name_view; let __opts = __c.__opts; __c.#ident - .map(<#ty as #_form::FromForm<'__f>>::finalize) - .unwrap_or_else(|| { - #default.ok_or_else(|| #_form::ErrorKind::Missing.into()) - }) + .map_or_else( + || #default.ok_or_else(|| #_form::ErrorKind::Missing.into()), + <#ty as #_form::FromForm<'__f>>::finalize + ) .and_then(|#ident| { let mut __es = #_form::Errors::new(); #(if let #_err(__e) = #validator { __es.extend(__e); })* - - match __es.is_empty() { - true => #_Ok(#ident), - false => #_Err(__es) - } + __es.is_empty().then(|| #ident).ok_or(__es) }) .map_err(|__e| __e.with_name(__name)) - .map_err(|__e| match __e.is_empty() { - true => #_form::ErrorKind::Unknown.into(), - false => __e, - }) + .map_err(|__e| __e.is_empty() + .then(|| #_form::ErrorKind::Unknown.into()) + .unwrap_or(__e)) }}) }) ) diff --git a/examples/chat/src/main.rs b/examples/chat/src/main.rs index 724d2c3c..0a2f68d5 100644 --- a/examples/chat/src/main.rs +++ b/examples/chat/src/main.rs @@ -46,7 +46,7 @@ async fn events(queue: &State>, mut end: Shutdown) -> EventStrea #[post("/message", data = "
")] fn post(form: Form, queue: &State>) { // A send 'fails' if there are no active subscribers. That's okay. - let _ = queue.send(form.into_inner()); + let _res = queue.send(form.into_inner()); } #[launch] diff --git a/examples/databases/src/rusqlite.rs b/examples/databases/src/rusqlite.rs index 97cc49e5..09082467 100644 --- a/examples/databases/src/rusqlite.rs +++ b/examples/databases/src/rusqlite.rs @@ -23,13 +23,13 @@ type Result> = std::result::Result; #[post("/", data = "")] async fn create(db: Db, post: Json) -> Result>> { - let qpost = post.clone(); + let item = post.clone(); db.run(move |conn| { conn.execute("INSERT INTO posts (title, text) VALUES (?1, ?2)", - params![qpost.title, qpost.text]) + params![item.title, item.text]) }).await?; - Ok(Created::new("/").body(Json(post.into_inner()))) + Ok(Created::new("/").body(post)) } #[get("/")] diff --git a/examples/forms/src/main.rs b/examples/forms/src/main.rs index 47bc05eb..7737bdc6 100644 --- a/examples/forms/src/main.rs +++ b/examples/forms/src/main.rs @@ -63,7 +63,7 @@ struct Submit<'v> { } #[get("/")] -fn index<'r>() -> Template { +fn index() -> Template { Template::render("index", &Context::default()) } diff --git a/examples/manual-routing/src/main.rs b/examples/manual-routing/src/main.rs index b2f88525..2aeb01c7 100644 --- a/examples/manual-routing/src/main.rs +++ b/examples/manual-routing/src/main.rs @@ -5,7 +5,7 @@ use std::env; use rocket::{Request, Route, Catcher, route, catcher}; use rocket::data::{Data, ToByteUnit}; -use rocket::http::{Status, Method::*}; +use rocket::http::{Status, Method::{Get, Post}}; use rocket::response::{Responder, status::Custom}; use rocket::outcome::{try_outcome, IntoOutcome}; use rocket::tokio::fs::File; @@ -18,17 +18,17 @@ fn hi<'r>(req: &'r Request, _: Data<'r>) -> route::BoxFuture<'r> { route::Outcome::from(req, "Hello!").pin() } -fn name<'a>(req: &'a Request, _: Data<'r>) -> route::BoxFuture<'a> { - let param = req.param::<&'a str>(0) - .and_then(|res| res.ok()) - .unwrap_or("unnamed".into()); +fn name<'r>(req: &'r Request, _: Data<'r>) -> route::BoxFuture<'r> { + let param = req.param::<&'r str>(0) + .and_then(Result::ok) + .unwrap_or("unnamed"); route::Outcome::from(req, param).pin() } fn echo_url<'r>(req: &'r Request, _: Data<'r>) -> route::BoxFuture<'r> { let param_outcome = req.param::<&str>(1) - .and_then(|res| res.ok()) + .and_then(Result::ok) .into_outcome(Status::BadRequest); Box::pin(async move { @@ -63,8 +63,8 @@ fn get_upload<'r>(req: &'r Request, _: Data<'r>) -> route::BoxFuture<'r> { } fn not_found_handler<'r>(_: Status, req: &'r Request) -> catcher::BoxFuture<'r> { - let res = Custom(Status::NotFound, format!("Couldn't find: {}", req.uri())); - Box::pin(async move { res.respond_to(req) }) + let responder = Custom(Status::NotFound, format!("Couldn't find: {}", req.uri())); + Box::pin(async move { responder.respond_to(req) }) } #[derive(Clone)] @@ -83,7 +83,7 @@ impl route::Handler for CustomHandler { async fn handle<'r>(&self, req: &'r Request<'_>, data: Data<'r>) -> route::Outcome<'r> { let self_data = self.data; let id = req.param::<&str>(0) - .and_then(|res| res.ok()) + .and_then(Result::ok) .or_forward(data); route::Outcome::from(req, format!("{} - {}", self_data, try_outcome!(id))) diff --git a/examples/pastebin/src/paste_id.rs b/examples/pastebin/src/paste_id.rs index 4764929c..13442756 100644 --- a/examples/pastebin/src/paste_id.rs +++ b/examples/pastebin/src/paste_id.rs @@ -39,10 +39,9 @@ impl<'a> FromParam<'a> for PasteId<'a> { type Error = &'a str; fn from_param(param: &'a str) -> Result { - match param.chars().all(|c| c.is_ascii_alphanumeric()) { - true => Ok(PasteId(param.into())), - false => Err(param) - } + param.chars().all(|c| c.is_ascii_alphanumeric()) + .then(|| PasteId(param.into())) + .ok_or(param) } } diff --git a/examples/responders/src/main.rs b/examples/responders/src/main.rs index 934574ec..0c9ef31b 100644 --- a/examples/responders/src/main.rs +++ b/examples/responders/src/main.rs @@ -49,7 +49,7 @@ fn many_his() -> TextStream![&'static str] { #[get("/stream/hi/")] fn one_hi_per_ms(mut shutdown: Shutdown, n: u8) -> TextStream![&'static str] { TextStream! { - let mut interval = time::interval(Duration::from_millis(n as u64)); + let mut interval = time::interval(Duration::from_millis(n.into())); loop { select! { _ = interval.tick() => yield "hi", diff --git a/examples/serialization/src/json.rs b/examples/serialization/src/json.rs index b49a8fe7..e0cfd61d 100644 --- a/examples/serialization/src/json.rs +++ b/examples/serialization/src/json.rs @@ -39,7 +39,7 @@ async fn update(id: Id, message: Json>, list: Messages<'_>) -> Optio } #[get("/", format = "json")] -async fn get<'r>(id: Id, list: Messages<'r>) -> Option>> { +async fn get(id: Id, list: Messages<'_>) -> Option>> { let list = list.lock().await; Some(Json(Message { diff --git a/examples/serialization/src/msgpack.rs b/examples/serialization/src/msgpack.rs index f5cd77fd..6eccb2a0 100644 --- a/examples/serialization/src/msgpack.rs +++ b/examples/serialization/src/msgpack.rs @@ -13,7 +13,7 @@ fn get(id: usize) -> MsgPack> { } #[post("/", data = "", format = "msgpack")] -fn echo<'r>(data: MsgPack>) -> &'r str { +fn echo(data: MsgPack>) -> &str { data.message } diff --git a/examples/serialization/src/uuid.rs b/examples/serialization/src/uuid.rs index 56225028..15c804b7 100644 --- a/examples/serialization/src/uuid.rs +++ b/examples/serialization/src/uuid.rs @@ -9,9 +9,9 @@ struct People(HashMap); #[get("/people/")] fn people(id: Uuid, people: &State) -> Result { - Ok(people.0.get(&id) + people.0.get(&id) .map(|person| format!("We found: {}", person)) - .ok_or_else(|| format!("Missing person for UUID: {}", id))?) + .ok_or_else(|| format!("Missing person for UUID: {}", id)) } pub fn stage() -> rocket::fairing::AdHoc {