| 
14 | 14 | use std::str::FromStr;  | 
15 | 15 | 
 
  | 
16 | 16 | use session::{early_error, early_warn, Session};  | 
17 |  | -use session::search_paths::SearchPaths;  | 
 | 17 | +use session::search_paths::SearchPath;  | 
18 | 18 | 
 
  | 
19 | 19 | use rustc_target::spec::{LinkerFlavor, PanicStrategy, RelroLevel};  | 
20 | 20 | use rustc_target::spec::{Target, TargetTriple};  | 
@@ -374,7 +374,7 @@ top_level_options!(  | 
374 | 374 |         lint_cap: Option<lint::Level> [TRACKED],  | 
375 | 375 |         describe_lints: bool [UNTRACKED],  | 
376 | 376 |         output_types: OutputTypes [TRACKED],  | 
377 |  | -        search_paths: SearchPaths [UNTRACKED],  | 
 | 377 | +        search_paths: Vec<SearchPath> [UNTRACKED],  | 
378 | 378 |         libs: Vec<(String, Option<String>, Option<cstore::NativeLibraryKind>)> [TRACKED],  | 
379 | 379 |         maybe_sysroot: Option<PathBuf> [TRACKED],  | 
380 | 380 | 
 
  | 
@@ -593,7 +593,7 @@ impl Default for Options {  | 
593 | 593 |             lint_cap: None,  | 
594 | 594 |             describe_lints: false,  | 
595 | 595 |             output_types: OutputTypes(BTreeMap::new()),  | 
596 |  | -            search_paths: SearchPaths::new(),  | 
 | 596 | +            search_paths: vec![],  | 
597 | 597 |             maybe_sysroot: None,  | 
598 | 598 |             target_triple: TargetTriple::from_triple(host_triple()),  | 
599 | 599 |             test: false,  | 
@@ -2115,9 +2115,9 @@ pub fn build_session_options_and_crate_config(  | 
2115 | 2115 |         }  | 
2116 | 2116 |     };  | 
2117 | 2117 | 
 
  | 
2118 |  | -    let mut search_paths = SearchPaths::new();  | 
 | 2118 | +    let mut search_paths = vec![];  | 
2119 | 2119 |     for s in &matches.opt_strs("L") {  | 
2120 |  | -        search_paths.add_path(&s[..], error_format);  | 
 | 2120 | +        search_paths.push(SearchPath::from_cli_opt(&s[..], error_format));  | 
2121 | 2121 |     }  | 
2122 | 2122 | 
 
  | 
2123 | 2123 |     let libs = matches  | 
@@ -2535,6 +2535,7 @@ mod tests {  | 
2535 | 2535 |     use session::config::{build_configuration, build_session_options_and_crate_config};  | 
2536 | 2536 |     use session::config::{LtoCli, CrossLangLto};  | 
2537 | 2537 |     use session::build_session;  | 
 | 2538 | +    use session::search_paths::SearchPath;  | 
2538 | 2539 |     use std::collections::{BTreeMap, BTreeSet};  | 
2539 | 2540 |     use std::iter::FromIterator;  | 
2540 | 2541 |     use std::path::PathBuf;  | 
@@ -2790,48 +2791,48 @@ mod tests {  | 
2790 | 2791 | 
 
  | 
2791 | 2792 |         // Reference  | 
2792 | 2793 |         v1.search_paths  | 
2793 |  | -            .add_path("native=abc", super::ErrorOutputType::Json(false));  | 
 | 2794 | +            .push(SearchPath::from_cli_opt("native=abc", super::ErrorOutputType::Json(false)));  | 
2794 | 2795 |         v1.search_paths  | 
2795 |  | -            .add_path("crate=def", super::ErrorOutputType::Json(false));  | 
 | 2796 | +            .push(SearchPath::from_cli_opt("crate=def", super::ErrorOutputType::Json(false)));  | 
2796 | 2797 |         v1.search_paths  | 
2797 |  | -            .add_path("dependency=ghi", super::ErrorOutputType::Json(false));  | 
 | 2798 | +            .push(SearchPath::from_cli_opt("dependency=ghi", super::ErrorOutputType::Json(false)));  | 
2798 | 2799 |         v1.search_paths  | 
2799 |  | -            .add_path("framework=jkl", super::ErrorOutputType::Json(false));  | 
 | 2800 | +            .push(SearchPath::from_cli_opt("framework=jkl", super::ErrorOutputType::Json(false)));  | 
2800 | 2801 |         v1.search_paths  | 
2801 |  | -            .add_path("all=mno", super::ErrorOutputType::Json(false));  | 
 | 2802 | +            .push(SearchPath::from_cli_opt("all=mno", super::ErrorOutputType::Json(false)));  | 
2802 | 2803 | 
 
  | 
2803 | 2804 |         v2.search_paths  | 
2804 |  | -            .add_path("native=abc", super::ErrorOutputType::Json(false));  | 
 | 2805 | +            .push(SearchPath::from_cli_opt("native=abc", super::ErrorOutputType::Json(false)));  | 
2805 | 2806 |         v2.search_paths  | 
2806 |  | -            .add_path("dependency=ghi", super::ErrorOutputType::Json(false));  | 
 | 2807 | +            .push(SearchPath::from_cli_opt("dependency=ghi", super::ErrorOutputType::Json(false)));  | 
2807 | 2808 |         v2.search_paths  | 
2808 |  | -            .add_path("crate=def", super::ErrorOutputType::Json(false));  | 
 | 2809 | +            .push(SearchPath::from_cli_opt("crate=def", super::ErrorOutputType::Json(false)));  | 
2809 | 2810 |         v2.search_paths  | 
2810 |  | -            .add_path("framework=jkl", super::ErrorOutputType::Json(false));  | 
 | 2811 | +            .push(SearchPath::from_cli_opt("framework=jkl", super::ErrorOutputType::Json(false)));  | 
2811 | 2812 |         v2.search_paths  | 
2812 |  | -            .add_path("all=mno", super::ErrorOutputType::Json(false));  | 
 | 2813 | +            .push(SearchPath::from_cli_opt("all=mno", super::ErrorOutputType::Json(false)));  | 
2813 | 2814 | 
 
  | 
2814 | 2815 |         v3.search_paths  | 
2815 |  | -            .add_path("crate=def", super::ErrorOutputType::Json(false));  | 
 | 2816 | +            .push(SearchPath::from_cli_opt("crate=def", super::ErrorOutputType::Json(false)));  | 
2816 | 2817 |         v3.search_paths  | 
2817 |  | -            .add_path("framework=jkl", super::ErrorOutputType::Json(false));  | 
 | 2818 | +            .push(SearchPath::from_cli_opt("framework=jkl", super::ErrorOutputType::Json(false)));  | 
2818 | 2819 |         v3.search_paths  | 
2819 |  | -            .add_path("native=abc", super::ErrorOutputType::Json(false));  | 
 | 2820 | +            .push(SearchPath::from_cli_opt("native=abc", super::ErrorOutputType::Json(false)));  | 
2820 | 2821 |         v3.search_paths  | 
2821 |  | -            .add_path("dependency=ghi", super::ErrorOutputType::Json(false));  | 
 | 2822 | +            .push(SearchPath::from_cli_opt("dependency=ghi", super::ErrorOutputType::Json(false)));  | 
2822 | 2823 |         v3.search_paths  | 
2823 |  | -            .add_path("all=mno", super::ErrorOutputType::Json(false));  | 
 | 2824 | +            .push(SearchPath::from_cli_opt("all=mno", super::ErrorOutputType::Json(false)));  | 
2824 | 2825 | 
 
  | 
2825 | 2826 |         v4.search_paths  | 
2826 |  | -            .add_path("all=mno", super::ErrorOutputType::Json(false));  | 
 | 2827 | +            .push(SearchPath::from_cli_opt("all=mno", super::ErrorOutputType::Json(false)));  | 
2827 | 2828 |         v4.search_paths  | 
2828 |  | -            .add_path("native=abc", super::ErrorOutputType::Json(false));  | 
 | 2829 | +            .push(SearchPath::from_cli_opt("native=abc", super::ErrorOutputType::Json(false)));  | 
2829 | 2830 |         v4.search_paths  | 
2830 |  | -            .add_path("crate=def", super::ErrorOutputType::Json(false));  | 
 | 2831 | +            .push(SearchPath::from_cli_opt("crate=def", super::ErrorOutputType::Json(false)));  | 
2831 | 2832 |         v4.search_paths  | 
2832 |  | -            .add_path("dependency=ghi", super::ErrorOutputType::Json(false));  | 
 | 2833 | +            .push(SearchPath::from_cli_opt("dependency=ghi", super::ErrorOutputType::Json(false)));  | 
2833 | 2834 |         v4.search_paths  | 
2834 |  | -            .add_path("framework=jkl", super::ErrorOutputType::Json(false));  | 
 | 2835 | +            .push(SearchPath::from_cli_opt("framework=jkl", super::ErrorOutputType::Json(false)));  | 
2835 | 2836 | 
 
  | 
2836 | 2837 |         assert!(v1.dep_tracking_hash() == v2.dep_tracking_hash());  | 
2837 | 2838 |         assert!(v1.dep_tracking_hash() == v3.dep_tracking_hash());  | 
 | 
0 commit comments