@@ -420,10 +420,7 @@ top_level_options!(
420
420
lint_cap: Option <lint:: Level > [ TRACKED ] ,
421
421
describe_lints: bool [ UNTRACKED ] ,
422
422
output_types: OutputTypes [ TRACKED ] ,
423
- // FIXME(mw): We track this for now but it actually doesn't make too
424
- // much sense: The search path can stay the same while the
425
- // things discovered there might have changed on disk.
426
- search_paths: SearchPaths [ TRACKED ] ,
423
+ search_paths: SearchPaths [ UNTRACKED ] ,
427
424
libs: Vec <( String , Option <String >, Option <cstore:: NativeLibraryKind >) > [ TRACKED ] ,
428
425
maybe_sysroot: Option <PathBuf > [ TRACKED ] ,
429
426
@@ -442,10 +439,7 @@ top_level_options!(
442
439
// version of `debugging_opts.borrowck`, which is just a plain string.
443
440
borrowck_mode: BorrowckMode [ UNTRACKED ] ,
444
441
cg: CodegenOptions [ TRACKED ] ,
445
- // FIXME(mw): We track this for now but it actually doesn't make too
446
- // much sense: The value of this option can stay the same
447
- // while the files they refer to might have changed on disk.
448
- externs: Externs [ TRACKED ] ,
442
+ externs: Externs [ UNTRACKED ] ,
449
443
crate_name: Option <String > [ TRACKED ] ,
450
444
// An optional name to use as the crate for std during std injection,
451
445
// written `extern crate std = "name"`. Default to "std". Used by
@@ -2141,13 +2135,12 @@ impl fmt::Display for CrateType {
2141
2135
mod dep_tracking {
2142
2136
use lint;
2143
2137
use middle:: cstore;
2144
- use session:: search_paths:: { PathKind , SearchPaths } ;
2145
2138
use std:: collections:: BTreeMap ;
2146
2139
use std:: hash:: Hash ;
2147
2140
use std:: path:: PathBuf ;
2148
2141
use std:: collections:: hash_map:: DefaultHasher ;
2149
2142
use super :: { Passes , CrateType , OptLevel , DebugInfoLevel , Lto ,
2150
- OutputTypes , Externs , ErrorOutputType , Sanitizer , Epoch } ;
2143
+ OutputTypes , ErrorOutputType , Sanitizer , Epoch } ;
2151
2144
use syntax:: feature_gate:: UnstableFeatures ;
2152
2145
use rustc_back:: { PanicStrategy , RelroLevel } ;
2153
2146
@@ -2204,7 +2197,6 @@ mod dep_tracking {
2204
2197
impl_dep_tracking_hash_via_hash ! ( Lto ) ;
2205
2198
impl_dep_tracking_hash_via_hash ! ( DebugInfoLevel ) ;
2206
2199
impl_dep_tracking_hash_via_hash ! ( UnstableFeatures ) ;
2207
- impl_dep_tracking_hash_via_hash ! ( Externs ) ;
2208
2200
impl_dep_tracking_hash_via_hash ! ( OutputTypes ) ;
2209
2201
impl_dep_tracking_hash_via_hash ! ( cstore:: NativeLibraryKind ) ;
2210
2202
impl_dep_tracking_hash_via_hash ! ( Sanitizer ) ;
@@ -2218,15 +2210,6 @@ mod dep_tracking {
2218
2210
impl_dep_tracking_hash_for_sortable_vec_of ! ( ( String , Option <String >,
2219
2211
Option <cstore:: NativeLibraryKind >) ) ;
2220
2212
impl_dep_tracking_hash_for_sortable_vec_of ! ( ( String , u64 ) ) ;
2221
- impl DepTrackingHash for SearchPaths {
2222
- fn hash ( & self , hasher : & mut DefaultHasher , _: ErrorOutputType ) {
2223
- let mut elems: Vec < _ > = self
2224
- . iter ( PathKind :: All )
2225
- . collect ( ) ;
2226
- elems. sort ( ) ;
2227
- Hash :: hash ( & elems, hasher) ;
2228
- }
2229
- }
2230
2213
2231
2214
impl < T1 , T2 > DepTrackingHash for ( T1 , T2 )
2232
2215
where T1 : DepTrackingHash ,
@@ -2413,43 +2396,6 @@ mod tests {
2413
2396
assert_eq ! ( v1. dep_tracking_hash( ) , v1. clone( ) . dep_tracking_hash( ) ) ;
2414
2397
}
2415
2398
2416
- #[ test]
2417
- fn test_externs_tracking_hash_different_values ( ) {
2418
- let mut v1 = super :: basic_options ( ) ;
2419
- let mut v2 = super :: basic_options ( ) ;
2420
- let mut v3 = super :: basic_options ( ) ;
2421
-
2422
- v1. externs = Externs :: new ( mk_map ( vec ! [
2423
- ( String :: from( "a" ) , mk_set( vec![ String :: from( "b" ) ,
2424
- String :: from( "c" ) ] ) ) ,
2425
- ( String :: from( "d" ) , mk_set( vec![ String :: from( "e" ) ,
2426
- String :: from( "f" ) ] ) ) ,
2427
- ] ) ) ;
2428
-
2429
- v2. externs = Externs :: new ( mk_map ( vec ! [
2430
- ( String :: from( "a" ) , mk_set( vec![ String :: from( "b" ) ,
2431
- String :: from( "c" ) ] ) ) ,
2432
- ( String :: from( "X" ) , mk_set( vec![ String :: from( "e" ) ,
2433
- String :: from( "f" ) ] ) ) ,
2434
- ] ) ) ;
2435
-
2436
- v3. externs = Externs :: new ( mk_map ( vec ! [
2437
- ( String :: from( "a" ) , mk_set( vec![ String :: from( "b" ) ,
2438
- String :: from( "c" ) ] ) ) ,
2439
- ( String :: from( "d" ) , mk_set( vec![ String :: from( "X" ) ,
2440
- String :: from( "f" ) ] ) ) ,
2441
- ] ) ) ;
2442
-
2443
- assert ! ( v1. dep_tracking_hash( ) != v2. dep_tracking_hash( ) ) ;
2444
- assert ! ( v1. dep_tracking_hash( ) != v3. dep_tracking_hash( ) ) ;
2445
- assert ! ( v2. dep_tracking_hash( ) != v3. dep_tracking_hash( ) ) ;
2446
-
2447
- // Check clone
2448
- assert_eq ! ( v1. dep_tracking_hash( ) , v1. clone( ) . dep_tracking_hash( ) ) ;
2449
- assert_eq ! ( v2. dep_tracking_hash( ) , v2. clone( ) . dep_tracking_hash( ) ) ;
2450
- assert_eq ! ( v3. dep_tracking_hash( ) , v3. clone( ) . dep_tracking_hash( ) ) ;
2451
- }
2452
-
2453
2399
#[ test]
2454
2400
fn test_externs_tracking_hash_different_construction_order ( ) {
2455
2401
let mut v1 = super :: basic_options ( ) ;
@@ -2540,69 +2486,6 @@ mod tests {
2540
2486
assert_eq ! ( v2. dep_tracking_hash( ) , v2. clone( ) . dep_tracking_hash( ) ) ;
2541
2487
}
2542
2488
2543
- #[ test]
2544
- fn test_search_paths_tracking_hash_different_values ( ) {
2545
- let mut v1 = super :: basic_options ( ) ;
2546
- let mut v2 = super :: basic_options ( ) ;
2547
- let mut v3 = super :: basic_options ( ) ;
2548
- let mut v4 = super :: basic_options ( ) ;
2549
- let mut v5 = super :: basic_options ( ) ;
2550
-
2551
- // Reference
2552
- v1. search_paths . add_path ( "native=abc" , super :: ErrorOutputType :: Json ( false ) ) ;
2553
- v1. search_paths . add_path ( "crate=def" , super :: ErrorOutputType :: Json ( false ) ) ;
2554
- v1. search_paths . add_path ( "dependency=ghi" , super :: ErrorOutputType :: Json ( false ) ) ;
2555
- v1. search_paths . add_path ( "framework=jkl" , super :: ErrorOutputType :: Json ( false ) ) ;
2556
- v1. search_paths . add_path ( "all=mno" , super :: ErrorOutputType :: Json ( false ) ) ;
2557
-
2558
- // Native changed
2559
- v2. search_paths . add_path ( "native=XXX" , super :: ErrorOutputType :: Json ( false ) ) ;
2560
- v2. search_paths . add_path ( "crate=def" , super :: ErrorOutputType :: Json ( false ) ) ;
2561
- v2. search_paths . add_path ( "dependency=ghi" , super :: ErrorOutputType :: Json ( false ) ) ;
2562
- v2. search_paths . add_path ( "framework=jkl" , super :: ErrorOutputType :: Json ( false ) ) ;
2563
- v2. search_paths . add_path ( "all=mno" , super :: ErrorOutputType :: Json ( false ) ) ;
2564
-
2565
- // Crate changed
2566
- v2. search_paths . add_path ( "native=abc" , super :: ErrorOutputType :: Json ( false ) ) ;
2567
- v2. search_paths . add_path ( "crate=XXX" , super :: ErrorOutputType :: Json ( false ) ) ;
2568
- v2. search_paths . add_path ( "dependency=ghi" , super :: ErrorOutputType :: Json ( false ) ) ;
2569
- v2. search_paths . add_path ( "framework=jkl" , super :: ErrorOutputType :: Json ( false ) ) ;
2570
- v2. search_paths . add_path ( "all=mno" , super :: ErrorOutputType :: Json ( false ) ) ;
2571
-
2572
- // Dependency changed
2573
- v3. search_paths . add_path ( "native=abc" , super :: ErrorOutputType :: Json ( false ) ) ;
2574
- v3. search_paths . add_path ( "crate=def" , super :: ErrorOutputType :: Json ( false ) ) ;
2575
- v3. search_paths . add_path ( "dependency=XXX" , super :: ErrorOutputType :: Json ( false ) ) ;
2576
- v3. search_paths . add_path ( "framework=jkl" , super :: ErrorOutputType :: Json ( false ) ) ;
2577
- v3. search_paths . add_path ( "all=mno" , super :: ErrorOutputType :: Json ( false ) ) ;
2578
-
2579
- // Framework changed
2580
- v4. search_paths . add_path ( "native=abc" , super :: ErrorOutputType :: Json ( false ) ) ;
2581
- v4. search_paths . add_path ( "crate=def" , super :: ErrorOutputType :: Json ( false ) ) ;
2582
- v4. search_paths . add_path ( "dependency=ghi" , super :: ErrorOutputType :: Json ( false ) ) ;
2583
- v4. search_paths . add_path ( "framework=XXX" , super :: ErrorOutputType :: Json ( false ) ) ;
2584
- v4. search_paths . add_path ( "all=mno" , super :: ErrorOutputType :: Json ( false ) ) ;
2585
-
2586
- // All changed
2587
- v5. search_paths . add_path ( "native=abc" , super :: ErrorOutputType :: Json ( false ) ) ;
2588
- v5. search_paths . add_path ( "crate=def" , super :: ErrorOutputType :: Json ( false ) ) ;
2589
- v5. search_paths . add_path ( "dependency=ghi" , super :: ErrorOutputType :: Json ( false ) ) ;
2590
- v5. search_paths . add_path ( "framework=jkl" , super :: ErrorOutputType :: Json ( false ) ) ;
2591
- v5. search_paths . add_path ( "all=XXX" , super :: ErrorOutputType :: Json ( false ) ) ;
2592
-
2593
- assert ! ( v1. dep_tracking_hash( ) != v2. dep_tracking_hash( ) ) ;
2594
- assert ! ( v1. dep_tracking_hash( ) != v3. dep_tracking_hash( ) ) ;
2595
- assert ! ( v1. dep_tracking_hash( ) != v4. dep_tracking_hash( ) ) ;
2596
- assert ! ( v1. dep_tracking_hash( ) != v5. dep_tracking_hash( ) ) ;
2597
-
2598
- // Check clone
2599
- assert_eq ! ( v1. dep_tracking_hash( ) , v1. clone( ) . dep_tracking_hash( ) ) ;
2600
- assert_eq ! ( v2. dep_tracking_hash( ) , v2. clone( ) . dep_tracking_hash( ) ) ;
2601
- assert_eq ! ( v3. dep_tracking_hash( ) , v3. clone( ) . dep_tracking_hash( ) ) ;
2602
- assert_eq ! ( v4. dep_tracking_hash( ) , v4. clone( ) . dep_tracking_hash( ) ) ;
2603
- assert_eq ! ( v5. dep_tracking_hash( ) , v5. clone( ) . dep_tracking_hash( ) ) ;
2604
- }
2605
-
2606
2489
#[ test]
2607
2490
fn test_search_paths_tracking_hash_different_order ( ) {
2608
2491
let mut v1 = super :: basic_options ( ) ;
0 commit comments