Skip to content

Commit 634dd22

Browse files
committed
Re-enable fixpoint iteration for variance computation
1 parent 898f265 commit 634dd22

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

src/tools/rust-analyzer/crates/hir-expand/src/name.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,10 @@ impl Name {
179179
self.symbol.as_str()
180180
}
181181

182+
#[inline]
182183
pub fn display<'a>(
183184
&'a self,
184-
db: &dyn crate::db::ExpandDatabase,
185+
db: &dyn salsa::Database,
185186
edition: Edition,
186187
) -> impl fmt::Display + 'a {
187188
_ = db;

src/tools/rust-analyzer/crates/hir-ty/src/db.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,8 @@ pub trait HirDatabase: DefDatabase + std::fmt::Debug {
273273

274274
#[salsa::invoke(crate::variance::variances_of)]
275275
#[salsa::cycle(
276-
// cycle_fn = crate::variance::variances_of_cycle_fn,
277-
// cycle_initial = crate::variance::variances_of_cycle_initial,
278-
cycle_result = crate::variance::variances_of_cycle_initial,
276+
cycle_fn = crate::variance::variances_of_cycle_fn,
277+
cycle_initial = crate::variance::variances_of_cycle_initial,
279278
)]
280279
fn variances_of(&self, def: GenericDefId) -> Option<Arc<[crate::variance::Variance]>>;
281280

src/tools/rust-analyzer/crates/hir-ty/src/variance.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ pub(crate) fn variances_of(db: &dyn HirDatabase, def: GenericDefId) -> Option<Ar
5454
variances.is_empty().not().then(|| Arc::from_iter(variances))
5555
}
5656

57-
// pub(crate) fn variances_of_cycle_fn(
58-
// _db: &dyn HirDatabase,
59-
// _result: &Option<Arc<[Variance]>>,
60-
// _count: u32,
61-
// _def: GenericDefId,
62-
// ) -> salsa::CycleRecoveryAction<Option<Arc<[Variance]>>> {
63-
// salsa::CycleRecoveryAction::Iterate
64-
// }
57+
pub(crate) fn variances_of_cycle_fn(
58+
_db: &dyn HirDatabase,
59+
_result: &Option<Arc<[Variance]>>,
60+
_count: u32,
61+
_def: GenericDefId,
62+
) -> salsa::CycleRecoveryAction<Option<Arc<[Variance]>>> {
63+
salsa::CycleRecoveryAction::Iterate
64+
}
6565

6666
pub(crate) fn variances_of_cycle_initial(
6767
db: &dyn HirDatabase,
@@ -965,7 +965,7 @@ struct S3<T>(S<T, T>);
965965
struct FixedPoint<T, U, V>(&'static FixedPoint<(), T, U>, V);
966966
"#,
967967
expect![[r#"
968-
FixedPoint[T: bivariant, U: bivariant, V: bivariant]
968+
FixedPoint[T: covariant, U: covariant, V: covariant]
969969
"#]],
970970
);
971971
}

0 commit comments

Comments
 (0)