Skip to content

Commit f4d7fb1

Browse files
committed
Auto merge of #2176 - jtgeibel:clippy/option_as_ref_deref, r=locks
Use Option::as_deref to convert Option<String> to Option<&str> Option::as_deref was introduced in rustc 1.40.0. There is a new clippy lint on nightly that recommended the changes in the first commit. The second commit converts 2 other equivalent syntax forms. The old forms were: * `as_ref().map(String::as_str)` * `as_ref().map(|s| &**s)` * `as_ref().map(|s| &s[..])`
2 parents c07223b + a4dda0c commit f4d7fb1

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

src/bin/render-readmes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ fn get_readme(
223223
.readme_file
224224
.as_ref()
225225
.map_or("README.md", |e| &**e),
226-
manifest.package.repository.as_ref().map(|e| &**e),
226+
manifest.package.repository.as_deref(),
227227
)
228228
};
229229
return Some(rendered);

src/controllers/krate/publish.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ pub fn publish(req: &mut dyn Request) -> AppResult<Response> {
7979
// Persist the new crate, if it doesn't already exist
8080
let persist = NewCrate {
8181
name: &name,
82-
description: new_crate.description.as_ref().map(|s| &**s),
83-
homepage: new_crate.homepage.as_ref().map(|s| &**s),
84-
documentation: new_crate.documentation.as_ref().map(|s| &**s),
85-
readme: new_crate.readme.as_ref().map(|s| &**s),
86-
repository: repo.as_ref().map(String::as_str),
82+
description: new_crate.description.as_deref(),
83+
homepage: new_crate.homepage.as_deref(),
84+
documentation: new_crate.documentation.as_deref(),
85+
readme: new_crate.readme.as_deref(),
86+
repository: repo.as_deref(),
8787
max_upload_size: None,
8888
};
8989

90-
let license_file = new_crate.license_file.as_ref().map(|s| &**s);
90+
let license_file = new_crate.license_file.as_deref();
9191
let krate =
9292
persist.create_or_update(&conn, user.id, Some(&app.config.publish_rate_limit))?;
9393

src/controllers/user/session.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ pub fn authorize(req: &mut dyn Request) -> AppResult<Response> {
8383
// should have issued earlier.
8484
{
8585
let session_state = req.session().remove(&"github_oauth_state".to_string());
86-
let session_state = session_state.as_ref().map(|a| &a[..]);
86+
let session_state = session_state.as_deref();
8787
if Some(&state[..]) != session_state {
8888
return Err(bad_request("invalid state parameter"));
8989
}
@@ -125,11 +125,11 @@ impl GithubUser {
125125
NewUser::new(
126126
self.id,
127127
&self.login,
128-
self.name.as_ref().map(|s| &s[..]),
129-
self.avatar_url.as_ref().map(|s| &s[..]),
128+
self.name.as_deref(),
129+
self.avatar_url.as_deref(),
130130
access_token,
131131
)
132-
.create_or_update(self.email.as_ref().map(|s| &s[..]), conn)
132+
.create_or_update(self.email.as_deref(), conn)
133133
.map_err(Into::into)
134134
.or_else(|e: Box<dyn AppError>| {
135135
// If we're in read only mode, we can't update their details

src/models/dependency.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ pub fn add_dependencies(
128128
optional.eq(dep.optional),
129129
default_features.eq(dep.default_features),
130130
features.eq(&dep.features),
131-
target.eq(dep.target.as_ref().map(|s| &**s)),
131+
target.eq(dep.target.as_deref()),
132132
),
133133
))
134134
})

src/render.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ pub fn render_and_upload_readme(
231231
use crate::schema::*;
232232
use diesel::prelude::*;
233233

234-
let rendered = readme_to_html(&text, &file_name, base_url.as_ref().map(String::as_str));
234+
let rendered = readme_to_html(&text, &file_name, base_url.as_deref());
235235
let conn = env.connection()?;
236236

237237
conn.transaction(|| {

0 commit comments

Comments
 (0)