Use read-only access methods for read-only entity operations (#31479)

Another follow-up to #31254

Release Notes:

- N/A
This commit is contained in:
Joseph T. Lyons 2025-05-26 23:04:31 -04:00 committed by GitHub
parent 4a577fff4a
commit c208532693
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
79 changed files with 319 additions and 306 deletions

View file

@ -56,16 +56,16 @@ impl ActiveToolchain {
fn spawn_tracker_task(window: &mut Window, cx: &mut Context<Self>) -> Task<Option<()>> {
cx.spawn_in(window, async move |this, cx| {
let active_file = this
.update(cx, |this, _| {
.read_with(cx, |this, _| {
this.active_buffer
.as_ref()
.map(|(_, buffer, _)| buffer.clone())
})
.ok()
.flatten()?;
let workspace = this.update(cx, |this, _| this.workspace.clone()).ok()?;
let workspace = this.read_with(cx, |this, _| this.workspace.clone()).ok()?;
let language_name = active_file
.update(cx, |this, _| Some(this.language()?.name()))
.read_with(cx, |this, _| Some(this.language()?.name()))
.ok()
.flatten()?;
let term = workspace
@ -136,7 +136,7 @@ impl ActiveToolchain {
) -> Task<Option<Toolchain>> {
cx.spawn(async move |cx| {
let workspace_id = workspace
.update(cx, |this, _| this.database_id())
.read_with(cx, |this, _| this.database_id())
.ok()
.flatten()?;
let selected_toolchain = workspace
@ -156,7 +156,7 @@ impl ActiveToolchain {
Some(toolchain)
} else {
let project = workspace
.update(cx, |this, _| this.project().clone())
.read_with(cx, |this, _| this.project().clone())
.ok()?;
let toolchains = cx
.update(|_, cx| {

View file

@ -164,13 +164,13 @@ impl ToolchainSelectorDelegate {
let project = project.clone();
async move |this, cx| {
let term = project
.update(cx, |this, _| {
.read_with(cx, |this, _| {
Project::toolchain_term(this.languages().clone(), language_name.clone())
})
.ok()?
.await?;
let relative_path = this
.update(cx, |this, _| this.delegate.relative_path.clone())
.read_with(cx, |this, _| this.delegate.relative_path.clone())
.ok()?;
let placeholder_text = format!(
"Select a {} for `{}`…",
@ -257,7 +257,7 @@ impl PickerDelegate for ToolchainSelectorDelegate {
let toolchain = self.candidates.toolchains[string_match.candidate_id].clone();
if let Some(workspace_id) = self
.workspace
.update(cx, |this, _| this.database_id())
.read_with(cx, |this, _| this.database_id())
.ok()
.flatten()
{