Skip to content

Commit b7fa6df

Browse files
Merge #7844
7844: Fix ProcMacroClient dropped too early in cli r=edwin0cheng a=edwin0cheng Fix #7843 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
2 parents 477c1ac + 8775213 commit b7fa6df

File tree

5 files changed

+11
-9
lines changed

5 files changed

+11
-9
lines changed

crates/rust-analyzer/src/cli/analysis_bench.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ impl BenchCmd {
6868
load_out_dirs_from_check: self.load_output_dirs,
6969
with_proc_macro: self.with_proc_macro,
7070
};
71-
let (mut host, vfs) =
71+
let (mut host, vfs, _proc_macro) =
7272
load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?;
7373
eprintln!("{:?}\n", start.elapsed());
7474

crates/rust-analyzer/src/cli/analysis_stats.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl AnalysisStatsCmd {
6464
load_out_dirs_from_check: self.load_output_dirs,
6565
with_proc_macro: self.with_proc_macro,
6666
};
67-
let (host, vfs) =
67+
let (host, vfs, _proc_macro) =
6868
load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?;
6969
let db = host.raw_database();
7070
eprintln!("{:<20} {}", "Database loaded:", db_load_sw.elapsed());

crates/rust-analyzer/src/cli/diagnostics.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ pub fn diagnostics(
3535
) -> Result<()> {
3636
let cargo_config = Default::default();
3737
let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check, with_proc_macro };
38-
let (host, _vfs) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
38+
let (host, _vfs, _proc_macro) =
39+
load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
3940
let db = host.raw_database();
4041
let analysis = host.analysis();
4142

crates/rust-analyzer/src/cli/load_cargo.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ pub fn load_workspace_at(
2323
cargo_config: &CargoConfig,
2424
load_config: &LoadCargoConfig,
2525
progress: &dyn Fn(String),
26-
) -> Result<(AnalysisHost, vfs::Vfs)> {
26+
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroClient>)> {
2727
let root = AbsPathBuf::assert(std::env::current_dir()?.join(root));
2828
let root = ProjectManifest::discover_single(&root)?;
2929
let workspace = ProjectWorkspace::load(root, cargo_config, progress)?;
@@ -35,7 +35,7 @@ pub fn load_workspace(
3535
ws: ProjectWorkspace,
3636
config: &LoadCargoConfig,
3737
progress: &dyn Fn(String),
38-
) -> Result<(AnalysisHost, vfs::Vfs)> {
38+
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroClient>)> {
3939
let (sender, receiver) = unbounded();
4040
let mut vfs = vfs::Vfs::default();
4141
let mut loader = {
@@ -80,7 +80,7 @@ pub fn load_workspace(
8080
log::debug!("crate graph: {:?}", crate_graph);
8181
let host =
8282
load_crate_graph(crate_graph, project_folders.source_root_config, &mut vfs, &receiver);
83-
Ok((host, vfs))
83+
Ok((host, vfs, proc_macro_client))
8484
}
8585

8686
fn load_crate_graph(
@@ -138,7 +138,8 @@ mod tests {
138138
let cargo_config = Default::default();
139139
let load_cargo_config =
140140
LoadCargoConfig { load_out_dirs_from_check: false, with_proc_macro: false };
141-
let (host, _vfs) = load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
141+
let (host, _vfs, _proc_macro) =
142+
load_workspace_at(path, &cargo_config, &load_cargo_config, &|_| {})?;
142143

143144
let n_crates = Crate::all(host.raw_database()).len();
144145
// RA has quite a few crates, but the exact count doesn't matter

crates/rust-analyzer/src/cli/ssr.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn apply_ssr_rules(rules: Vec<SsrRule>) -> Result<()> {
1111
let cargo_config = Default::default();
1212
let load_cargo_config =
1313
LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
14-
let (host, vfs) =
14+
let (host, vfs, _proc_macro) =
1515
load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
1616
let db = host.raw_database();
1717
let mut match_finder = MatchFinder::at_first_file(db)?;
@@ -38,7 +38,7 @@ pub fn search_for_patterns(patterns: Vec<SsrPattern>, debug_snippet: Option<Stri
3838
let cargo_config = Default::default();
3939
let load_cargo_config =
4040
LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
41-
let (host, _vfs) =
41+
let (host, _vfs, _proc_macro) =
4242
load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
4343
let db = host.raw_database();
4444
let mut match_finder = MatchFinder::at_first_file(db)?;

0 commit comments

Comments
 (0)