Skip to content

Commit 8dbe4d9

Browse files
committed
Eliminate some Option<NativeLibKind>s
1 parent 529d488 commit 8dbe4d9

File tree

4 files changed

+33
-34
lines changed

4 files changed

+33
-34
lines changed

src/librustc_interface/tests.rs

+21-21
Original file line numberDiff line numberDiff line change
@@ -300,30 +300,30 @@ fn test_native_libs_tracking_hash_different_values() {
300300

301301
// Reference
302302
v1.libs = vec![
303-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
304-
(String::from("b"), None, Some(NativeLibKind::Framework)),
305-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
303+
(String::from("a"), None, NativeLibKind::StaticBundle),
304+
(String::from("b"), None, NativeLibKind::Framework),
305+
(String::from("c"), None, NativeLibKind::Unspecified),
306306
];
307307

308308
// Change label
309309
v2.libs = vec![
310-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
311-
(String::from("X"), None, Some(NativeLibKind::Framework)),
312-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
310+
(String::from("a"), None, NativeLibKind::StaticBundle),
311+
(String::from("X"), None, NativeLibKind::Framework),
312+
(String::from("c"), None, NativeLibKind::Unspecified),
313313
];
314314

315315
// Change kind
316316
v3.libs = vec![
317-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
318-
(String::from("b"), None, Some(NativeLibKind::StaticBundle)),
319-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
317+
(String::from("a"), None, NativeLibKind::StaticBundle),
318+
(String::from("b"), None, NativeLibKind::StaticBundle),
319+
(String::from("c"), None, NativeLibKind::Unspecified),
320320
];
321321

322322
// Change new-name
323323
v4.libs = vec![
324-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
325-
(String::from("b"), Some(String::from("X")), Some(NativeLibKind::Framework)),
326-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
324+
(String::from("a"), None, NativeLibKind::StaticBundle),
325+
(String::from("b"), Some(String::from("X")), NativeLibKind::Framework),
326+
(String::from("c"), None, NativeLibKind::Unspecified),
327327
];
328328

329329
assert!(v1.dep_tracking_hash() != v2.dep_tracking_hash());
@@ -345,21 +345,21 @@ fn test_native_libs_tracking_hash_different_order() {
345345

346346
// Reference
347347
v1.libs = vec![
348-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
349-
(String::from("b"), None, Some(NativeLibKind::Framework)),
350-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
348+
(String::from("a"), None, NativeLibKind::StaticBundle),
349+
(String::from("b"), None, NativeLibKind::Framework),
350+
(String::from("c"), None, NativeLibKind::Unspecified),
351351
];
352352

353353
v2.libs = vec![
354-
(String::from("b"), None, Some(NativeLibKind::Framework)),
355-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
356-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
354+
(String::from("b"), None, NativeLibKind::Framework),
355+
(String::from("a"), None, NativeLibKind::StaticBundle),
356+
(String::from("c"), None, NativeLibKind::Unspecified),
357357
];
358358

359359
v3.libs = vec![
360-
(String::from("c"), None, Some(NativeLibKind::Unspecified)),
361-
(String::from("a"), None, Some(NativeLibKind::StaticBundle)),
362-
(String::from("b"), None, Some(NativeLibKind::Framework)),
360+
(String::from("c"), None, NativeLibKind::Unspecified),
361+
(String::from("a"), None, NativeLibKind::StaticBundle),
362+
(String::from("b"), None, NativeLibKind::Framework),
363363
];
364364

365365
assert!(v1.dep_tracking_hash() == v2.dep_tracking_hash());

src/librustc_metadata/native_libs.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ impl Collector<'tcx> {
241241
.drain_filter(|lib| {
242242
if let Some(lib_name) = lib.name {
243243
if lib_name.as_str() == *name {
244-
if let Some(k) = kind {
245-
lib.kind = k;
244+
if kind != NativeLibKind::Unspecified {
245+
lib.kind = kind;
246246
}
247247
if let &Some(ref new_name) = new_name {
248248
lib.name = Some(Symbol::intern(new_name));
@@ -258,7 +258,7 @@ impl Collector<'tcx> {
258258
let new_name = new_name.as_ref().map(|s| &**s); // &Option<String> -> Option<&str>
259259
let lib = NativeLib {
260260
name: Some(Symbol::intern(new_name.unwrap_or(name))),
261-
kind: if let Some(k) = kind { k } else { NativeLibKind::Unspecified },
261+
kind,
262262
cfg: None,
263263
foreign_module: None,
264264
wasm_import_module: None,

src/librustc_session/config.rs

+8-9
Original file line numberDiff line numberDiff line change
@@ -1452,7 +1452,7 @@ fn select_debuginfo(
14521452
fn parse_libs(
14531453
matches: &getopts::Matches,
14541454
error_format: ErrorOutputType,
1455-
) -> Vec<(String, Option<String>, Option<NativeLibKind>)> {
1455+
) -> Vec<(String, Option<String>, NativeLibKind)> {
14561456
matches
14571457
.opt_strs("l")
14581458
.into_iter()
@@ -1462,11 +1462,11 @@ fn parse_libs(
14621462
let mut parts = s.splitn(2, '=');
14631463
let kind = parts.next().unwrap();
14641464
let (name, kind) = match (parts.next(), kind) {
1465-
(None, name) => (name, None),
1466-
(Some(name), "dylib") => (name, Some(NativeLibKind::Dylib)),
1467-
(Some(name), "framework") => (name, Some(NativeLibKind::Framework)),
1468-
(Some(name), "static") => (name, Some(NativeLibKind::StaticBundle)),
1469-
(Some(name), "static-nobundle") => (name, Some(NativeLibKind::StaticNoBundle)),
1465+
(None, name) => (name, NativeLibKind::Unspecified),
1466+
(Some(name), "dylib") => (name, NativeLibKind::Dylib),
1467+
(Some(name), "framework") => (name, NativeLibKind::Framework),
1468+
(Some(name), "static") => (name, NativeLibKind::StaticBundle),
1469+
(Some(name), "static-nobundle") => (name, NativeLibKind::StaticNoBundle),
14701470
(_, s) => {
14711471
early_error(
14721472
error_format,
@@ -1478,7 +1478,7 @@ fn parse_libs(
14781478
);
14791479
}
14801480
};
1481-
if kind == Some(NativeLibKind::StaticNoBundle) && !nightly_options::is_nightly_build() {
1481+
if kind == NativeLibKind::StaticNoBundle && !nightly_options::is_nightly_build() {
14821482
early_error(
14831483
error_format,
14841484
"the library kind 'static-nobundle' is only \
@@ -2058,7 +2058,6 @@ crate mod dep_tracking {
20582058
impl_dep_tracking_hash_via_hash!(Option<RelroLevel>);
20592059
impl_dep_tracking_hash_via_hash!(Option<lint::Level>);
20602060
impl_dep_tracking_hash_via_hash!(Option<PathBuf>);
2061-
impl_dep_tracking_hash_via_hash!(Option<NativeLibKind>);
20622061
impl_dep_tracking_hash_via_hash!(CrateType);
20632062
impl_dep_tracking_hash_via_hash!(MergeFunctions);
20642063
impl_dep_tracking_hash_via_hash!(PanicStrategy);
@@ -2084,7 +2083,7 @@ crate mod dep_tracking {
20842083
impl_dep_tracking_hash_for_sortable_vec_of!(PathBuf);
20852084
impl_dep_tracking_hash_for_sortable_vec_of!(CrateType);
20862085
impl_dep_tracking_hash_for_sortable_vec_of!((String, lint::Level));
2087-
impl_dep_tracking_hash_for_sortable_vec_of!((String, Option<String>, Option<NativeLibKind>));
2086+
impl_dep_tracking_hash_for_sortable_vec_of!((String, Option<String>, NativeLibKind));
20882087
impl_dep_tracking_hash_for_sortable_vec_of!((String, u64));
20892088
impl_dep_tracking_hash_for_sortable_vec_of!(Sanitizer);
20902089

src/librustc_session/options.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ top_level_options!(
9393
describe_lints: bool [UNTRACKED],
9494
output_types: OutputTypes [TRACKED],
9595
search_paths: Vec<SearchPath> [UNTRACKED],
96-
libs: Vec<(String, Option<String>, Option<NativeLibKind>)> [TRACKED],
96+
libs: Vec<(String, Option<String>, NativeLibKind)> [TRACKED],
9797
maybe_sysroot: Option<PathBuf> [UNTRACKED],
9898

9999
target_triple: TargetTriple [TRACKED],

0 commit comments

Comments
 (0)