Skip to content

Commit fcf6239

Browse files
Merge pull request #22061 from Veykril/veykril/push-zyolmvzxtoqz
Bump salsa
2 parents c8846c4 + cabbf55 commit fcf6239

5 files changed

Lines changed: 45 additions & 36 deletions

File tree

Cargo.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,13 @@ rayon = "1.10.0"
135135
rowan = "=0.15.18"
136136
# Ideally we'd not enable the macros feature but unfortunately the `tracked` attribute does not work
137137
# on impls without it
138-
salsa = { version = "0.25.2", default-features = false, features = [
138+
salsa = { version = "0.26", default-features = false, features = [
139139
"rayon",
140140
"salsa_unstable",
141141
"macros",
142142
"inventory",
143143
] }
144-
salsa-macros = "0.25.2"
144+
salsa-macros = "0.26"
145145
semver = "1.0.26"
146146
serde = { version = "1.0.219" }
147147
serde_derive = { version = "1.0.219" }

crates/hir-ty/src/tests/regression.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2363,6 +2363,7 @@ fn test() {
23632363
}
23642364
"#,
23652365
expect![[r#"
2366+
46..49 'Foo': Foo<N>
23662367
93..97 'self': Foo<N>
23672368
108..125 '{ ... }': usize
23682369
118..119 'N': usize

crates/ide/src/lib.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ use cfg::CfgOptions;
6464
use fetch_crates::CrateInfo;
6565
use hir::{ChangeWithProcMacros, EditionedFileId, crate_def_map, sym};
6666
use ide_db::base_db::relevant_crates;
67+
use ide_db::base_db::salsa::Durability;
6768
use ide_db::line_index;
6869
use ide_db::ra_fixture::RaFixtureAnalysis;
6970
use ide_db::{
@@ -203,10 +204,18 @@ impl AnalysisHost {
203204
self.db.per_query_memory_usage()
204205
}
205206
pub fn trigger_cancellation(&mut self) {
206-
self.db.trigger_cancellation();
207+
// We need to do a synthetic write right now due to how fixpoint cycles handle cancellation
208+
// the revision bump there is a reset marker for clearing fixpoint poisoning.
209+
// That is `trigger_cancellation` is currently bugged wrt to cancellation.
210+
// self.db.trigger_cancellation();
211+
self.db.synthetic_write(Durability::LOW);
207212
}
208213
pub fn trigger_garbage_collection(&mut self) {
209-
self.db.trigger_lru_eviction();
214+
// We need to do a synthetic write right now due to how fixpoint cycles handle cancellation
215+
// the revision bump there is a reset marker for clearing fixpoint poisoning.
216+
// That is `trigger_lru_eviction` is currently bugged wrt to cancellation.
217+
// self.db.trigger_lru_eviction();
218+
self.db.synthetic_write(Durability::LOW);
210219
// SAFETY: `trigger_lru_eviction` triggers cancellation, so all running queries were canceled.
211220
unsafe { hir::collect_ty_garbage() };
212221
}

crates/span/src/hygiene.rs

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,24 @@ const _: () = {
8181
#[derive(Hash)]
8282
struct StructKey<'db, T0, T1, T2, T3>(T0, T1, T2, T3, std::marker::PhantomData<&'db ()>);
8383

84-
impl<'db, T0, T1, T2, T3> zalsa_::interned::HashEqLike<StructKey<'db, T0, T1, T2, T3>>
85-
for SyntaxContextData
84+
impl<'db, T0, T1, T2, T3> zalsa_::HashEqLike<StructKey<'db, T0, T1, T2, T3>> for SyntaxContextData
8685
where
87-
Option<MacroCallId>: zalsa_::interned::HashEqLike<T0>,
88-
Transparency: zalsa_::interned::HashEqLike<T1>,
89-
Edition: zalsa_::interned::HashEqLike<T2>,
90-
SyntaxContext: zalsa_::interned::HashEqLike<T3>,
86+
Option<MacroCallId>: zalsa_::HashEqLike<T0>,
87+
Transparency: zalsa_::HashEqLike<T1>,
88+
Edition: zalsa_::HashEqLike<T2>,
89+
SyntaxContext: zalsa_::HashEqLike<T3>,
9190
{
9291
fn hash<H: std::hash::Hasher>(&self, h: &mut H) {
93-
zalsa_::interned::HashEqLike::<T0>::hash(&self.outer_expn, &mut *h);
94-
zalsa_::interned::HashEqLike::<T1>::hash(&self.outer_transparency, &mut *h);
95-
zalsa_::interned::HashEqLike::<T2>::hash(&self.edition, &mut *h);
96-
zalsa_::interned::HashEqLike::<T3>::hash(&self.parent, &mut *h);
92+
zalsa_::HashEqLike::<T0>::hash(&self.outer_expn, &mut *h);
93+
zalsa_::HashEqLike::<T1>::hash(&self.outer_transparency, &mut *h);
94+
zalsa_::HashEqLike::<T2>::hash(&self.edition, &mut *h);
95+
zalsa_::HashEqLike::<T3>::hash(&self.parent, &mut *h);
9796
}
9897
fn eq(&self, data: &StructKey<'db, T0, T1, T2, T3>) -> bool {
99-
zalsa_::interned::HashEqLike::<T0>::eq(&self.outer_expn, &data.0)
100-
&& zalsa_::interned::HashEqLike::<T1>::eq(&self.outer_transparency, &data.1)
101-
&& zalsa_::interned::HashEqLike::<T2>::eq(&self.edition, &data.2)
102-
&& zalsa_::interned::HashEqLike::<T3>::eq(&self.parent, &data.3)
98+
zalsa_::HashEqLike::<T0>::eq(&self.outer_expn, &data.0)
99+
&& zalsa_::HashEqLike::<T1>::eq(&self.outer_transparency, &data.1)
100+
&& zalsa_::HashEqLike::<T2>::eq(&self.edition, &data.2)
101+
&& zalsa_::HashEqLike::<T3>::eq(&self.parent, &data.3)
103102
}
104103
}
105104
impl zalsa_struct_::Configuration for SyntaxContext {
@@ -203,10 +202,10 @@ const _: () = {
203202
impl<'db> SyntaxContext {
204203
pub fn new<
205204
Db,
206-
T0: zalsa_::interned::Lookup<Option<MacroCallId>> + std::hash::Hash,
207-
T1: zalsa_::interned::Lookup<Transparency> + std::hash::Hash,
208-
T2: zalsa_::interned::Lookup<Edition> + std::hash::Hash,
209-
T3: zalsa_::interned::Lookup<SyntaxContext> + std::hash::Hash,
205+
T0: zalsa_::Lookup<Option<MacroCallId>> + std::hash::Hash,
206+
T1: zalsa_::Lookup<Transparency> + std::hash::Hash,
207+
T2: zalsa_::Lookup<Edition> + std::hash::Hash,
208+
T3: zalsa_::Lookup<SyntaxContext> + std::hash::Hash,
210209
>(
211210
db: &'db Db,
212211
outer_expn: T0,
@@ -218,10 +217,10 @@ const _: () = {
218217
) -> Self
219218
where
220219
Db: ?Sized + salsa::Database,
221-
Option<MacroCallId>: zalsa_::interned::HashEqLike<T0>,
222-
Transparency: zalsa_::interned::HashEqLike<T1>,
223-
Edition: zalsa_::interned::HashEqLike<T2>,
224-
SyntaxContext: zalsa_::interned::HashEqLike<T3>,
220+
Option<MacroCallId>: zalsa_::HashEqLike<T0>,
221+
Transparency: zalsa_::HashEqLike<T1>,
222+
Edition: zalsa_::HashEqLike<T2>,
223+
SyntaxContext: zalsa_::HashEqLike<T3>,
225224
{
226225
let (zalsa, zalsa_local) = db.zalsas();
227226

@@ -236,10 +235,10 @@ const _: () = {
236235
std::marker::PhantomData,
237236
),
238237
|id, data| SyntaxContextData {
239-
outer_expn: zalsa_::interned::Lookup::into_owned(data.0),
240-
outer_transparency: zalsa_::interned::Lookup::into_owned(data.1),
241-
edition: zalsa_::interned::Lookup::into_owned(data.2),
242-
parent: zalsa_::interned::Lookup::into_owned(data.3),
238+
outer_expn: zalsa_::Lookup::into_owned(data.0),
239+
outer_transparency: zalsa_::Lookup::into_owned(data.1),
240+
edition: zalsa_::Lookup::into_owned(data.2),
241+
parent: zalsa_::Lookup::into_owned(data.3),
243242
opaque: opaque(zalsa_::FromId::from_id(id)),
244243
opaque_and_semiopaque: opaque_and_semiopaque(zalsa_::FromId::from_id(id)),
245244
},

0 commit comments

Comments
 (0)