Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ra-salsa/tests/storage_varieties/implementation.rs')
| -rw-r--r-- | crates/ra-salsa/tests/storage_varieties/implementation.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/crates/ra-salsa/tests/storage_varieties/implementation.rs b/crates/ra-salsa/tests/storage_varieties/implementation.rs new file mode 100644 index 0000000000..39b2befd15 --- /dev/null +++ b/crates/ra-salsa/tests/storage_varieties/implementation.rs @@ -0,0 +1,19 @@ +use crate::queries; +use std::cell::Cell; + +#[ra_salsa::database(queries::GroupStruct)] +#[derive(Default)] +pub(crate) struct DatabaseImpl { + storage: ra_salsa::Storage<Self>, + counter: Cell<usize>, +} + +impl queries::Counter for DatabaseImpl { + fn increment(&self) -> usize { + let v = self.counter.get(); + self.counter.set(v + 1); + v + } +} + +impl ra_salsa::Database for DatabaseImpl {} |