Upgrade salsa (#15039)

The only code change is that Salsa now requires the `Db` to implement
`Clone` to create "lightweight" snapshots.
This commit is contained in:
Micha Reiser 2024-12-17 16:50:33 +01:00 committed by GitHub
parent c9fdb1f5e3
commit c3b6139f39
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 23 additions and 46 deletions

View file

@ -48,7 +48,7 @@ pub fn vendored_path_to_file(
}
/// Lookup table that maps [file paths](`FilePath`) to salsa interned [`File`] instances.
#[derive(Default)]
#[derive(Default, Clone)]
pub struct Files {
inner: Arc<FilesInner>,
}
@ -253,13 +253,6 @@ impl Files {
root.set_revision(db).to(FileRevision::now());
}
}
#[must_use]
pub fn snapshot(&self) -> Self {
Self {
inner: Arc::clone(&self.inner),
}
}
}
impl std::fmt::Debug for Files {

View file

@ -48,13 +48,13 @@ mod tests {
///
/// Uses an in memory filesystem and it stubs out the vendored files by default.
#[salsa::db]
#[derive(Default)]
#[derive(Default, Clone)]
pub(crate) struct TestDb {
storage: salsa::Storage<Self>,
files: Files,
system: TestSystem,
vendored: VendoredFileSystem,
events: std::sync::Arc<std::sync::Mutex<Vec<salsa::Event>>>,
events: Arc<std::sync::Mutex<Vec<salsa::Event>>>,
}
impl TestDb {