mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 06:11:35 +00:00
internal: switch to Arc::from_iter
This commit is contained in:
parent
7e8a3391bb
commit
c17dcc8d90
7 changed files with 114 additions and 160 deletions
|
@ -187,11 +187,9 @@ impl GlobalState {
|
|||
config_errors: Default::default(),
|
||||
|
||||
proc_macro_changed: false,
|
||||
// FIXME: use `Arc::from_iter` when it becomes available
|
||||
proc_macro_clients: Arc::from(Vec::new()),
|
||||
proc_macro_clients: Arc::from_iter([]),
|
||||
|
||||
// FIXME: use `Arc::from_iter` when it becomes available
|
||||
flycheck: Arc::from(Vec::new()),
|
||||
flycheck: Arc::from_iter([]),
|
||||
flycheck_sender,
|
||||
flycheck_receiver,
|
||||
last_flycheck_error: None,
|
||||
|
@ -202,7 +200,7 @@ impl GlobalState {
|
|||
vfs_progress_n_total: 0,
|
||||
vfs_progress_n_done: 0,
|
||||
|
||||
workspaces: Arc::new(Vec::new()),
|
||||
workspaces: Arc::from(Vec::new()),
|
||||
crate_graph_file_dependencies: FxHashSet::default(),
|
||||
fetch_workspaces_queue: OpQueue::default(),
|
||||
fetch_build_data_queue: OpQueue::default(),
|
||||
|
|
|
@ -51,8 +51,7 @@ use crate::{
|
|||
};
|
||||
|
||||
pub(crate) fn handle_workspace_reload(state: &mut GlobalState, _: ()) -> anyhow::Result<()> {
|
||||
// FIXME: use `Arc::from_iter` when it becomes available
|
||||
state.proc_macro_clients = Arc::from(Vec::new());
|
||||
state.proc_macro_clients = Arc::from_iter([]);
|
||||
state.proc_macro_changed = false;
|
||||
|
||||
state.fetch_workspaces_queue.request_op("reload workspace request".to_string(), false);
|
||||
|
@ -60,8 +59,7 @@ pub(crate) fn handle_workspace_reload(state: &mut GlobalState, _: ()) -> anyhow:
|
|||
}
|
||||
|
||||
pub(crate) fn handle_proc_macros_rebuild(state: &mut GlobalState, _: ()) -> anyhow::Result<()> {
|
||||
// FIXME: use `Arc::from_iter` when it becomes available
|
||||
state.proc_macro_clients = Arc::from(Vec::new());
|
||||
state.proc_macro_clients = Arc::from_iter([]);
|
||||
state.proc_macro_changed = false;
|
||||
|
||||
state.fetch_build_data_queue.request_op("rebuild proc macros request".to_string(), ());
|
||||
|
|
|
@ -437,28 +437,22 @@ impl GlobalState {
|
|||
if self.config.expand_proc_macros() {
|
||||
tracing::info!("Spawning proc-macro servers");
|
||||
|
||||
// FIXME: use `Arc::from_iter` when it becomes available
|
||||
self.proc_macro_clients = Arc::from(
|
||||
self.workspaces
|
||||
.iter()
|
||||
.map(|ws| {
|
||||
let path = match self.config.proc_macro_srv() {
|
||||
Some(path) => path,
|
||||
None => ws.find_sysroot_proc_macro_srv()?,
|
||||
};
|
||||
self.proc_macro_clients = Arc::from_iter(self.workspaces.iter().map(|ws| {
|
||||
let path = match self.config.proc_macro_srv() {
|
||||
Some(path) => path,
|
||||
None => ws.find_sysroot_proc_macro_srv()?,
|
||||
};
|
||||
|
||||
tracing::info!("Using proc-macro server at {path}");
|
||||
ProcMacroServer::spawn(path.clone()).map_err(|err| {
|
||||
tracing::error!(
|
||||
"Failed to run proc-macro server from path {path}, error: {err:?}",
|
||||
);
|
||||
anyhow::format_err!(
|
||||
"Failed to run proc-macro server from path {path}, error: {err:?}",
|
||||
)
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>(),
|
||||
)
|
||||
tracing::info!("Using proc-macro server at {path}");
|
||||
ProcMacroServer::spawn(path.clone()).map_err(|err| {
|
||||
tracing::error!(
|
||||
"Failed to run proc-macro server from path {path}, error: {err:?}",
|
||||
);
|
||||
anyhow::format_err!(
|
||||
"Failed to run proc-macro server from path {path}, error: {err:?}",
|
||||
)
|
||||
})
|
||||
}))
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue