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

@ -16,7 +16,7 @@ static EMPTY_VENDORED: std::sync::LazyLock<VendoredFileSystem> = std::sync::Lazy
});
#[salsa::db]
#[derive(Default)]
#[derive(Default, Clone)]
pub struct ModuleDb {
storage: salsa::Storage<Self>,
files: Files,
@ -55,17 +55,6 @@ impl ModuleDb {
Ok(db)
}
/// Create a snapshot of the current database.
#[must_use]
pub fn snapshot(&self) -> Self {
Self {
storage: self.storage.clone(),
system: self.system.clone(),
files: self.files.snapshot(),
rule_selection: Arc::clone(&self.rule_selection),
}
}
}
impl Upcast<dyn SourceDb> for ModuleDb {