diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs index d754c8b55c..aa7a8ee520 100644 --- a/crates/project_model/src/workspace.rs +++ b/crates/project_model/src/workspace.rs @@ -274,19 +274,12 @@ impl ProjectWorkspace { crate_graph } - pub fn collect_build_data_configs( - &self, - collector: &mut BuildDataCollector, - for_private: bool, - ) { + pub fn collect_build_data_configs(&self, collector: &mut BuildDataCollector) { match self { ProjectWorkspace::Cargo { cargo, rustc, .. } => { collector.add_config(&cargo.workspace_root(), cargo.build_data_config().clone()); - if for_private { - if let Some(rustc) = rustc { - collector - .add_config(rustc.workspace_root(), rustc.build_data_config().clone()); - } + if let Some(rustc) = rustc { + collector.add_config(rustc.workspace_root(), rustc.build_data_config().clone()); } } _ => {} diff --git a/crates/rust-analyzer/src/cli/analysis_bench.rs b/crates/rust-analyzer/src/cli/analysis_bench.rs index 104f2e8a20..3bd7e678d3 100644 --- a/crates/rust-analyzer/src/cli/analysis_bench.rs +++ b/crates/rust-analyzer/src/cli/analysis_bench.rs @@ -68,9 +68,6 @@ impl BenchCmd { let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check: self.load_output_dirs, with_proc_macro: self.with_proc_macro, - // This will currently never have rustcSource set, however if in - // future it does this will handle that case - run_rustc_build_scripts: true, }; let (mut host, vfs, _proc_macro) = load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?; diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs index 5a84329608..ad0759bdad 100644 --- a/crates/rust-analyzer/src/cli/analysis_stats.rs +++ b/crates/rust-analyzer/src/cli/analysis_stats.rs @@ -63,9 +63,6 @@ impl AnalysisStatsCmd { let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check: self.load_output_dirs, with_proc_macro: self.with_proc_macro, - // This will currently never have rustcSource set, however if in - // future it does this will handle that case - run_rustc_build_scripts: true, }; let (host, vfs, _proc_macro) = load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?; diff --git a/crates/rust-analyzer/src/cli/diagnostics.rs b/crates/rust-analyzer/src/cli/diagnostics.rs index e1966b5a79..8b985716b0 100644 --- a/crates/rust-analyzer/src/cli/diagnostics.rs +++ b/crates/rust-analyzer/src/cli/diagnostics.rs @@ -34,13 +34,7 @@ pub fn diagnostics( with_proc_macro: bool, ) -> Result<()> { let cargo_config = Default::default(); - let load_cargo_config = LoadCargoConfig { - load_out_dirs_from_check, - with_proc_macro, - // This will currently never have rustcSource set, however if in - // future it does this will handle that case - run_rustc_build_scripts: true, - }; + let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check, with_proc_macro }; let (host, _vfs, _proc_macro) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?; let db = host.raw_database(); diff --git a/crates/rust-analyzer/src/cli/load_cargo.rs b/crates/rust-analyzer/src/cli/load_cargo.rs index 3d7b5031a4..310c36904e 100644 --- a/crates/rust-analyzer/src/cli/load_cargo.rs +++ b/crates/rust-analyzer/src/cli/load_cargo.rs @@ -14,7 +14,6 @@ use vfs::{loader::Handle, AbsPath, AbsPathBuf}; use crate::reload::{ProjectFolders, SourceRootConfig}; pub struct LoadCargoConfig { - pub run_rustc_build_scripts: bool, pub load_out_dirs_from_check: bool, pub with_proc_macro: bool, } @@ -54,7 +53,7 @@ pub fn load_workspace( let build_data = if config.load_out_dirs_from_check { let mut collector = BuildDataCollector::default(); - ws.collect_build_data_configs(&mut collector, config.run_rustc_build_scripts); + ws.collect_build_data_configs(&mut collector); Some(collector.collect(progress)?) } else { None @@ -137,11 +136,8 @@ mod tests { fn test_loading_rust_analyzer() -> Result<()> { let path = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap().parent().unwrap(); let cargo_config = Default::default(); - let load_cargo_config = LoadCargoConfig { - load_out_dirs_from_check: false, - with_proc_macro: false, - run_rustc_build_scripts: false, - }; + let load_cargo_config = + LoadCargoConfig { load_out_dirs_from_check: false, with_proc_macro: false }; let (host, _vfs, _proc_macro) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?; diff --git a/crates/rust-analyzer/src/cli/ssr.rs b/crates/rust-analyzer/src/cli/ssr.rs index 8cc4eefc20..79f426fff1 100644 --- a/crates/rust-analyzer/src/cli/ssr.rs +++ b/crates/rust-analyzer/src/cli/ssr.rs @@ -9,13 +9,8 @@ use ide_ssr::{MatchFinder, SsrPattern, SsrRule}; pub fn apply_ssr_rules(rules: Vec) -> Result<()> { use ide_db::base_db::SourceDatabaseExt; let cargo_config = Default::default(); - let load_cargo_config = LoadCargoConfig { - load_out_dirs_from_check: true, - with_proc_macro: true, - // This will currently never have rustcSource set, however if in - // future it does this will handle that case - run_rustc_build_scripts: true, - }; + let load_cargo_config = + LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true }; let (host, vfs, _proc_macro) = load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?; let db = host.raw_database(); @@ -41,13 +36,8 @@ pub fn search_for_patterns(patterns: Vec, debug_snippet: Option bool { self.data.cargo_runBuildScripts || self.data.procMacro_enable } - pub fn run_rustc_build_scripts(&self) -> bool { - self.run_build_scripts() && !self.data.cargo_disableRustcBuildScripts - } pub fn cargo(&self) -> CargoConfig { let rustc_source = self.data.rustcSource.as_ref().map(|rustc_src| { if rustc_src == "discover" { diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs index da02be2dec..aa8504c3d5 100644 --- a/crates/rust-analyzer/src/reload.rs +++ b/crates/rust-analyzer/src/reload.rs @@ -340,10 +340,7 @@ impl GlobalState { if self.config.run_build_scripts() && workspace_build_data.is_none() { let mut collector = BuildDataCollector::default(); for ws in &workspaces { - ws.collect_build_data_configs( - &mut collector, - self.config.run_rustc_build_scripts(), - ); + ws.collect_build_data_configs(&mut collector); } self.fetch_build_data_request(collector) } diff --git a/docs/user/generated_config.adoc b/docs/user/generated_config.adoc index 602c9432e0..1dbf2a611d 100644 --- a/docs/user/generated_config.adoc +++ b/docs/user/generated_config.adoc @@ -12,8 +12,6 @@ List of features to activate. [[rust-analyzer.cargo.runBuildScripts]]rust-analyzer.cargo.runBuildScripts (default: `false`):: Run build scripts (`build.rs`) for more precise code analysis. -[[rust-analyzer.cargo.disableRustcBuildScripts]]rust-analyzer.cargo.disableRustcBuildScripts (default: `false`):: - Disable running build scripts (`build.rs`) for the `rustc_private` crates in `rustcSource`. [[rust-analyzer.cargo.noDefaultFeatures]]rust-analyzer.cargo.noDefaultFeatures (default: `false`):: Do not activate the `default` feature. [[rust-analyzer.cargo.target]]rust-analyzer.cargo.target (default: `null`):: diff --git a/editors/code/package.json b/editors/code/package.json index 82011bb445..1987364bc0 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -413,11 +413,6 @@ "default": false, "type": "boolean" }, - "rust-analyzer.cargo.disableRustcBuildScripts": { - "markdownDescription": "Disable running build scripts (`build.rs`) for the `rustc_private` crates in `rustcSource`.", - "default": false, - "type": "boolean" - }, "rust-analyzer.cargo.noDefaultFeatures": { "markdownDescription": "Do not activate the `default` feature.", "default": false,