diff options
| author | unexge <unexge@gmail.com> | 2022-09-26 19:16:02 +0100 |
|---|---|---|
| committer | unexge <unexge@gmail.com> | 2022-09-26 19:16:02 +0100 |
| commit | 3a8d84b4a39098014dcfeb9925d76fbac15a1bc3 (patch) | |
| tree | 6bde1e345ec166519dce2caf09142e847b7d141a | |
| parent | b21bf25a07ef4cff8e9e38f44f9f407bb2bd207d (diff) | |
| download | rust-3a8d84b4a39098014dcfeb9925d76fbac15a1bc3.tar.gz rust-3a8d84b4a39098014dcfeb9925d76fbac15a1bc3.zip | |
Use `Arc<[DefDiagnostic]>` instead of `Arc<Vec<DefDiagnostic>>`
| -rw-r--r-- | crates/hir-def/src/adt.rs | 12 | ||||
| -rw-r--r-- | crates/hir-def/src/data.rs | 8 | ||||
| -rw-r--r-- | crates/hir-def/src/db.rs | 18 |
3 files changed, 16 insertions, 22 deletions
diff --git a/crates/hir-def/src/adt.rs b/crates/hir-def/src/adt.rs index af8ca8571ba..938db032fbc 100644 --- a/crates/hir-def/src/adt.rs +++ b/crates/hir-def/src/adt.rs @@ -151,7 +151,7 @@ impl StructData { pub(crate) fn struct_data_with_diagnostics_query( db: &dyn DefDatabase, id: StructId, - ) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>) { + ) -> (Arc<StructData>, Arc<[DefDiagnostic]>) { let loc = id.lookup(db); let krate = loc.container.krate; let item_tree = loc.id.item_tree(db); @@ -176,7 +176,7 @@ impl StructData { repr, visibility: item_tree[strukt.visibility].clone(), }), - Arc::new(diagnostics), + diagnostics.into(), ) } @@ -187,7 +187,7 @@ impl StructData { pub(crate) fn union_data_with_diagnostics_query( db: &dyn DefDatabase, id: UnionId, - ) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>) { + ) -> (Arc<StructData>, Arc<[DefDiagnostic]>) { let loc = id.lookup(db); let krate = loc.container.krate; let item_tree = loc.id.item_tree(db); @@ -212,7 +212,7 @@ impl StructData { repr, visibility: item_tree[union.visibility].clone(), }), - Arc::new(diagnostics), + diagnostics.into(), ) } } @@ -225,7 +225,7 @@ impl EnumData { pub(crate) fn enum_data_with_diagnostics_query( db: &dyn DefDatabase, e: EnumId, - ) -> (Arc<EnumData>, Arc<Vec<DefDiagnostic>>) { + ) -> (Arc<EnumData>, Arc<[DefDiagnostic]>) { let loc = e.lookup(db); let krate = loc.container.krate; let item_tree = loc.id.item_tree(db); @@ -272,7 +272,7 @@ impl EnumData { repr, visibility: item_tree[enum_.visibility].clone(), }), - Arc::new(diagnostics), + diagnostics.into(), ) } diff --git a/crates/hir-def/src/data.rs b/crates/hir-def/src/data.rs index 631ae3cf11f..2dc69b00ace 100644 --- a/crates/hir-def/src/data.rs +++ b/crates/hir-def/src/data.rs @@ -219,7 +219,7 @@ impl TraitData { pub(crate) fn trait_data_with_diagnostics_query( db: &dyn DefDatabase, tr: TraitId, - ) -> (Arc<TraitData>, Arc<Vec<DefDiagnostic>>) { + ) -> (Arc<TraitData>, Arc<[DefDiagnostic]>) { let tr_loc @ ItemLoc { container: module_id, id: tree_id } = tr.lookup(db); let item_tree = tree_id.item_tree(db); let tr_def = &item_tree[tree_id.value]; @@ -251,7 +251,7 @@ impl TraitData { visibility, skip_array_during_method_dispatch, }), - Arc::new(diagnostics), + diagnostics.into(), ) } @@ -299,7 +299,7 @@ impl ImplData { pub(crate) fn impl_data_with_diagnostics_query( db: &dyn DefDatabase, id: ImplId, - ) -> (Arc<ImplData>, Arc<Vec<DefDiagnostic>>) { + ) -> (Arc<ImplData>, Arc<[DefDiagnostic]>) { let _p = profile::span("impl_data_with_diagnostics_query"); let ItemLoc { container: module_id, id: tree_id } = id.lookup(db); @@ -318,7 +318,7 @@ impl ImplData { ( Arc::new(ImplData { target_trait, self_ty, items, is_negative, attribute_calls }), - Arc::new(diagnostics), + diagnostics.into(), ) } diff --git a/crates/hir-def/src/db.rs b/crates/hir-def/src/db.rs index 93ffe29a1fe..431c8255497 100644 --- a/crates/hir-def/src/db.rs +++ b/crates/hir-def/src/db.rs @@ -98,38 +98,32 @@ pub trait DefDatabase: InternDatabase + AstDatabase + Upcast<dyn AstDatabase> { fn struct_data(&self, id: StructId) -> Arc<StructData>; #[salsa::invoke(StructData::struct_data_with_diagnostics_query)] - fn struct_data_with_diagnostics( - &self, - id: StructId, - ) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>); + fn struct_data_with_diagnostics(&self, id: StructId) + -> (Arc<StructData>, Arc<[DefDiagnostic]>); #[salsa::invoke(StructData::union_data_query)] fn union_data(&self, id: UnionId) -> Arc<StructData>; #[salsa::invoke(StructData::union_data_with_diagnostics_query)] - fn union_data_with_diagnostics( - &self, - id: UnionId, - ) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>); + fn union_data_with_diagnostics(&self, id: UnionId) -> (Arc<StructData>, Arc<[DefDiagnostic]>); #[salsa::invoke(EnumData::enum_data_query)] fn enum_data(&self, e: EnumId) -> Arc<EnumData>; #[salsa::invoke(EnumData::enum_data_with_diagnostics_query)] - fn enum_data_with_diagnostics(&self, e: EnumId) -> (Arc<EnumData>, Arc<Vec<DefDiagnostic>>); + fn enum_data_with_diagnostics(&self, e: EnumId) -> (Arc<EnumData>, Arc<[DefDiagnostic]>); #[salsa::invoke(ImplData::impl_data_query)] fn impl_data(&self, e: ImplId) -> Arc<ImplData>; #[salsa::invoke(ImplData::impl_data_with_diagnostics_query)] - fn impl_data_with_diagnostics(&self, e: ImplId) -> (Arc<ImplData>, Arc<Vec<DefDiagnostic>>); + fn impl_data_with_diagnostics(&self, e: ImplId) -> (Arc<ImplData>, Arc<[DefDiagnostic]>); #[salsa::invoke(TraitData::trait_data_query)] fn trait_data(&self, e: TraitId) -> Arc<TraitData>; #[salsa::invoke(TraitData::trait_data_with_diagnostics_query)] - fn trait_data_with_diagnostics(&self, tr: TraitId) - -> (Arc<TraitData>, Arc<Vec<DefDiagnostic>>); + fn trait_data_with_diagnostics(&self, tr: TraitId) -> (Arc<TraitData>, Arc<[DefDiagnostic]>); #[salsa::invoke(TypeAliasData::type_alias_data_query)] fn type_alias_data(&self, e: TypeAliasId) -> Arc<TypeAliasData>; |
