Skip to content

Commit d47a954

Browse files
committed
Use Option::as_deref
1 parent eeb757e commit d47a954

File tree

13 files changed

+28
-31
lines changed

13 files changed

+28
-31
lines changed

crates/cargo-test-support/src/registry.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -375,14 +375,13 @@ impl Package {
375375
.map(|dep| {
376376
// In the index, the `registry` is null if it is from the same registry.
377377
// In Cargo.toml, it is None if it is from crates.io.
378-
let registry_url =
379-
match (self.alternative, dep.registry.as_ref().map(|s| s.as_ref())) {
380-
(false, None) => None,
381-
(false, Some("alternative")) => Some(alt_registry_url().to_string()),
382-
(true, None) => Some(CRATES_IO_INDEX.to_string()),
383-
(true, Some("alternative")) => None,
384-
_ => panic!("registry_dep currently only supports `alternative`"),
385-
};
378+
let registry_url = match (self.alternative, dep.registry.as_deref()) {
379+
(false, None) => None,
380+
(false, Some("alternative")) => Some(alt_registry_url().to_string()),
381+
(true, None) => Some(CRATES_IO_INDEX.to_string()),
382+
(true, Some("alternative")) => None,
383+
_ => panic!("registry_dep currently only supports `alternative`"),
384+
};
386385
serde_json::json!({
387386
"name": dep.name,
388387
"req": dep.vers,

src/bin/cargo/cli.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,7 @@ fn config_configure(
179179
let quiet =
180180
args.is_present("quiet") || subcommand_args.is_present("quiet") || global_args.quiet;
181181
let global_color = global_args.color; // Extract so it can take reference.
182-
let color = args
183-
.value_of("color")
184-
.or_else(|| global_color.as_ref().map(|s| s.as_ref()));
182+
let color = args.value_of("color").or_else(|| global_color.as_deref());
185183
let frozen = args.is_present("frozen") || global_args.frozen;
186184
let locked = args.is_present("locked") || global_args.locked;
187185
let offline = args.is_present("offline") || global_args.offline;

src/cargo/core/manifest.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ impl Manifest {
490490
&self.patch
491491
}
492492
pub fn links(&self) -> Option<&str> {
493-
self.links.as_ref().map(|s| &s[..])
493+
self.links.as_deref()
494494
}
495495

496496
pub fn workspace_config(&self) -> &WorkspaceConfig {
@@ -541,7 +541,7 @@ impl Manifest {
541541
}
542542

543543
pub fn default_run(&self) -> Option<&str> {
544-
self.default_run.as_ref().map(|s| &s[..])
544+
self.default_run.as_deref()
545545
}
546546

547547
pub fn metabuild(&self) -> Option<&Vec<String>> {

src/cargo/core/package.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,14 @@ impl ser::Serialize for Package {
8787
let summary = self.manifest.summary();
8888
let package_id = summary.package_id();
8989
let manmeta = self.manifest.metadata();
90-
let license = manmeta.license.as_ref().map(String::as_ref);
91-
let license_file = manmeta.license_file.as_ref().map(String::as_ref);
92-
let description = manmeta.description.as_ref().map(String::as_ref);
90+
let license = manmeta.license.as_deref();
91+
let license_file = manmeta.license_file.as_deref();
92+
let description = manmeta.description.as_deref();
9393
let authors = manmeta.authors.as_ref();
9494
let categories = manmeta.categories.as_ref();
9595
let keywords = manmeta.keywords.as_ref();
96-
let readme = manmeta.readme.as_ref().map(String::as_ref);
97-
let repository = manmeta.repository.as_ref().map(String::as_ref);
96+
let readme = manmeta.readme.as_deref();
97+
let repository = manmeta.repository.as_deref();
9898
// Filter out metabuild targets. They are an internal implementation
9999
// detail that is probably not relevant externally. There's also not a
100100
// real path to show in `src_path`, and this avoids changing the format.

src/cargo/core/source/source_id.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ impl SourceId {
326326

327327
/// Gets the value of the precise field.
328328
pub fn precise(self) -> Option<&'static str> {
329-
self.inner.precise.as_ref().map(|s| &s[..])
329+
self.inner.precise.as_deref()
330330
}
331331

332332
/// Gets the Git reference if this is a git source, otherwise `None`.

src/cargo/core/summary.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ impl Summary {
9191
&self.inner.features
9292
}
9393
pub fn checksum(&self) -> Option<&str> {
94-
self.inner.checksum.as_ref().map(|s| &s[..])
94+
self.inner.checksum.as_deref()
9595
}
9696
pub fn links(&self) -> Option<InternedString> {
9797
self.inner.links

src/cargo/ops/cargo_new.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -375,8 +375,8 @@ pub fn new(opts: &NewOptions, config: &Config) -> CargoResult<()> {
375375
name,
376376
source_files: vec![plan_new_source_file(opts.kind.is_bin(), name.to_string())],
377377
bin: opts.kind.is_bin(),
378-
edition: opts.edition.as_ref().map(|s| &**s),
379-
registry: opts.registry.as_ref().map(|s| &**s),
378+
edition: opts.edition.as_deref(),
379+
registry: opts.registry.as_deref(),
380380
};
381381

382382
mk(config, &mkopts).chain_err(|| {
@@ -465,8 +465,8 @@ pub fn init(opts: &NewOptions, config: &Config) -> CargoResult<()> {
465465
name,
466466
bin: has_bin,
467467
source_files: src_paths_types,
468-
edition: opts.edition.as_ref().map(|s| &**s),
469-
registry: opts.registry.as_ref().map(|s| &**s),
468+
edition: opts.edition.as_deref(),
469+
registry: opts.registry.as_deref(),
470470
};
471471

472472
mk(config, &mkopts).chain_err(|| {

src/cargo/ops/common_for_install_and_uninstall.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ impl InstallInfo {
500500
&& self.all_features == opts.all_features
501501
&& self.no_default_features == opts.no_default_features
502502
&& self.profile.as_str() == opts.build_config.requested_profile.as_str()
503-
&& (self.target.is_none() || self.target.as_ref().map(|t| t.as_ref()) == Some(target))
503+
&& (self.target.is_none() || self.target.as_deref() == Some(target))
504504
&& &self.bins == exes
505505
}
506506
}
@@ -594,7 +594,7 @@ where
594594
} else {
595595
None
596596
};
597-
let vers = vers.as_ref().map(|s| &**s);
597+
let vers = vers.as_deref();
598598
let vers_spec = if vers.is_none() && source.source_id().is_registry() {
599599
// Avoid pre-release versions from crate.io
600600
// unless explicitly asked for

src/cargo/ops/fix.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ impl FixArgs {
697697
}
698698

699699
fn next_edition(&self) -> &str {
700-
match self.enabled_edition.as_ref().map(|s| &**s) {
700+
match self.enabled_edition.as_deref() {
701701
// 2015 -> 2018,
702702
None | Some("2015") => "2018",
703703

src/cargo/sources/registry/index.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ impl<'cfg> RegistryIndex<'cfg> {
336336
// along the way produce helpful "did you mean?" suggestions.
337337
for path in UncanonicalizedIter::new(&raw_path).take(1024) {
338338
let summaries = Summaries::parse(
339-
index_version.as_ref().map(|s| &**s),
339+
index_version.as_deref(),
340340
root,
341341
&cache_root,
342342
path.as_ref(),

src/cargo/sources/registry/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ impl<'a> RegistryDependency<'a> {
315315
if package.is_some() {
316316
dep.set_explicit_name_in_toml(name);
317317
}
318-
let kind = match kind.as_ref().map(|s| &s[..]).unwrap_or("") {
318+
let kind = match kind.as_deref().unwrap_or("") {
319319
"dev" => DepKind::Development,
320320
"build" => DepKind::Build,
321321
_ => DepKind::Normal,

src/cargo/util/config/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ impl Config {
703703
// Ignore errors in the configuration files.
704704
let term = self.get::<TermConfig>("term").unwrap_or_default();
705705

706-
let color = color.or_else(|| term.color.as_ref().map(|s| s.as_ref()));
706+
let color = color.or_else(|| term.color.as_deref());
707707

708708
let verbosity = match (verbose, term.verbose, quiet) {
709709
(true, _, false) | (_, Some(true), false) => Verbosity::Verbose,

src/cargo/util/toml/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1624,7 +1624,7 @@ impl DetailedTomlDependency {
16241624
None => (name_in_toml, None),
16251625
};
16261626

1627-
let version = self.version.as_ref().map(|v| &v[..]);
1627+
let version = self.version.as_deref();
16281628
let mut dep = match cx.pkgid {
16291629
Some(id) => Dependency::parse(pkg_name, version, new_source_id, id, cx.config)?,
16301630
None => Dependency::parse_no_deprecated(pkg_name, version, new_source_id)?,

0 commit comments

Comments
 (0)