Skip to content

Commit 3a8d84b

Browse files
committed
Use Arc<[DefDiagnostic]> instead of Arc<Vec<DefDiagnostic>>
1 parent b21bf25 commit 3a8d84b

File tree

3 files changed

+16
-22
lines changed

3 files changed

+16
-22
lines changed

crates/hir-def/src/adt.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ impl StructData {
151151
pub(crate) fn struct_data_with_diagnostics_query(
152152
db: &dyn DefDatabase,
153153
id: StructId,
154-
) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>) {
154+
) -> (Arc<StructData>, Arc<[DefDiagnostic]>) {
155155
let loc = id.lookup(db);
156156
let krate = loc.container.krate;
157157
let item_tree = loc.id.item_tree(db);
@@ -176,7 +176,7 @@ impl StructData {
176176
repr,
177177
visibility: item_tree[strukt.visibility].clone(),
178178
}),
179-
Arc::new(diagnostics),
179+
diagnostics.into(),
180180
)
181181
}
182182

@@ -187,7 +187,7 @@ impl StructData {
187187
pub(crate) fn union_data_with_diagnostics_query(
188188
db: &dyn DefDatabase,
189189
id: UnionId,
190-
) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>) {
190+
) -> (Arc<StructData>, Arc<[DefDiagnostic]>) {
191191
let loc = id.lookup(db);
192192
let krate = loc.container.krate;
193193
let item_tree = loc.id.item_tree(db);
@@ -212,7 +212,7 @@ impl StructData {
212212
repr,
213213
visibility: item_tree[union.visibility].clone(),
214214
}),
215-
Arc::new(diagnostics),
215+
diagnostics.into(),
216216
)
217217
}
218218
}
@@ -225,7 +225,7 @@ impl EnumData {
225225
pub(crate) fn enum_data_with_diagnostics_query(
226226
db: &dyn DefDatabase,
227227
e: EnumId,
228-
) -> (Arc<EnumData>, Arc<Vec<DefDiagnostic>>) {
228+
) -> (Arc<EnumData>, Arc<[DefDiagnostic]>) {
229229
let loc = e.lookup(db);
230230
let krate = loc.container.krate;
231231
let item_tree = loc.id.item_tree(db);
@@ -272,7 +272,7 @@ impl EnumData {
272272
repr,
273273
visibility: item_tree[enum_.visibility].clone(),
274274
}),
275-
Arc::new(diagnostics),
275+
diagnostics.into(),
276276
)
277277
}
278278

crates/hir-def/src/data.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ impl TraitData {
219219
pub(crate) fn trait_data_with_diagnostics_query(
220220
db: &dyn DefDatabase,
221221
tr: TraitId,
222-
) -> (Arc<TraitData>, Arc<Vec<DefDiagnostic>>) {
222+
) -> (Arc<TraitData>, Arc<[DefDiagnostic]>) {
223223
let tr_loc @ ItemLoc { container: module_id, id: tree_id } = tr.lookup(db);
224224
let item_tree = tree_id.item_tree(db);
225225
let tr_def = &item_tree[tree_id.value];
@@ -251,7 +251,7 @@ impl TraitData {
251251
visibility,
252252
skip_array_during_method_dispatch,
253253
}),
254-
Arc::new(diagnostics),
254+
diagnostics.into(),
255255
)
256256
}
257257

@@ -299,7 +299,7 @@ impl ImplData {
299299
pub(crate) fn impl_data_with_diagnostics_query(
300300
db: &dyn DefDatabase,
301301
id: ImplId,
302-
) -> (Arc<ImplData>, Arc<Vec<DefDiagnostic>>) {
302+
) -> (Arc<ImplData>, Arc<[DefDiagnostic]>) {
303303
let _p = profile::span("impl_data_with_diagnostics_query");
304304
let ItemLoc { container: module_id, id: tree_id } = id.lookup(db);
305305

@@ -318,7 +318,7 @@ impl ImplData {
318318

319319
(
320320
Arc::new(ImplData { target_trait, self_ty, items, is_negative, attribute_calls }),
321-
Arc::new(diagnostics),
321+
diagnostics.into(),
322322
)
323323
}
324324

crates/hir-def/src/db.rs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,38 +98,32 @@ pub trait DefDatabase: InternDatabase + AstDatabase + Upcast<dyn AstDatabase> {
9898
fn struct_data(&self, id: StructId) -> Arc<StructData>;
9999

100100
#[salsa::invoke(StructData::struct_data_with_diagnostics_query)]
101-
fn struct_data_with_diagnostics(
102-
&self,
103-
id: StructId,
104-
) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>);
101+
fn struct_data_with_diagnostics(&self, id: StructId)
102+
-> (Arc<StructData>, Arc<[DefDiagnostic]>);
105103

106104
#[salsa::invoke(StructData::union_data_query)]
107105
fn union_data(&self, id: UnionId) -> Arc<StructData>;
108106

109107
#[salsa::invoke(StructData::union_data_with_diagnostics_query)]
110-
fn union_data_with_diagnostics(
111-
&self,
112-
id: UnionId,
113-
) -> (Arc<StructData>, Arc<Vec<DefDiagnostic>>);
108+
fn union_data_with_diagnostics(&self, id: UnionId) -> (Arc<StructData>, Arc<[DefDiagnostic]>);
114109

115110
#[salsa::invoke(EnumData::enum_data_query)]
116111
fn enum_data(&self, e: EnumId) -> Arc<EnumData>;
117112

118113
#[salsa::invoke(EnumData::enum_data_with_diagnostics_query)]
119-
fn enum_data_with_diagnostics(&self, e: EnumId) -> (Arc<EnumData>, Arc<Vec<DefDiagnostic>>);
114+
fn enum_data_with_diagnostics(&self, e: EnumId) -> (Arc<EnumData>, Arc<[DefDiagnostic]>);
120115

121116
#[salsa::invoke(ImplData::impl_data_query)]
122117
fn impl_data(&self, e: ImplId) -> Arc<ImplData>;
123118

124119
#[salsa::invoke(ImplData::impl_data_with_diagnostics_query)]
125-
fn impl_data_with_diagnostics(&self, e: ImplId) -> (Arc<ImplData>, Arc<Vec<DefDiagnostic>>);
120+
fn impl_data_with_diagnostics(&self, e: ImplId) -> (Arc<ImplData>, Arc<[DefDiagnostic]>);
126121

127122
#[salsa::invoke(TraitData::trait_data_query)]
128123
fn trait_data(&self, e: TraitId) -> Arc<TraitData>;
129124

130125
#[salsa::invoke(TraitData::trait_data_with_diagnostics_query)]
131-
fn trait_data_with_diagnostics(&self, tr: TraitId)
132-
-> (Arc<TraitData>, Arc<Vec<DefDiagnostic>>);
126+
fn trait_data_with_diagnostics(&self, tr: TraitId) -> (Arc<TraitData>, Arc<[DefDiagnostic]>);
133127

134128
#[salsa::invoke(TypeAliasData::type_alias_data_query)]
135129
fn type_alias_data(&self, e: TypeAliasId) -> Arc<TypeAliasData>;

0 commit comments

Comments
 (0)