chore: Replace as_any functions with trait upcasting (#28221)

Closes #ISSUE

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2025-04-08 22:16:27 +02:00 committed by GitHub
parent 38ec45008c
commit 0b75c13034
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 23 additions and 87 deletions

View file

@ -45,6 +45,7 @@ use smallvec::{SmallVec, smallvec};
use smol::channel::{self, Sender};
use std::{
any::Any,
borrow::Borrow as _,
cmp::Ordering,
collections::hash_map,
convert::TryFrom,
@ -3263,10 +3264,6 @@ impl language::File for File {
self.worktree.read(cx).id()
}
fn as_any(&self) -> &dyn Any {
self
}
fn to_proto(&self, cx: &App) -> rpc::proto::File {
rpc::proto::File {
worktree_id: self.worktree.read(cx).id().to_proto(),
@ -3359,7 +3356,11 @@ impl File {
}
pub fn from_dyn(file: Option<&Arc<dyn language::File>>) -> Option<&Self> {
file.and_then(|f| f.as_any().downcast_ref())
file.and_then(|f| {
let f: &dyn language::File = f.borrow();
let f: &dyn Any = f;
f.downcast_ref()
})
}
pub fn worktree_id(&self, cx: &App) -> WorktreeId {