2022-08-26 16:51:51 +00:00
|
|
|
trait Db: salsa::DbWithJar<Jar> {}
|
|
|
|
|
|
|
|
#[salsa::jar(db = Db)]
|
2024-05-24 01:16:30 +00:00
|
|
|
struct Jar(TokenTree<'_>);
|
2022-08-26 16:51:51 +00:00
|
|
|
|
|
|
|
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
|
|
|
|
enum Token {}
|
|
|
|
|
|
|
|
impl salsa::DebugWithDb<dyn Db + '_> for Token {
|
2024-04-03 09:59:11 +00:00
|
|
|
fn fmt(&self, _f: &mut std::fmt::Formatter<'_>, _db: &dyn Db) -> std::fmt::Result {
|
2022-08-26 16:51:51 +00:00
|
|
|
unreachable!()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[salsa::tracked(jar = Jar)]
|
2024-05-24 01:16:30 +00:00
|
|
|
struct TokenTree<'db> {
|
2022-08-26 16:51:51 +00:00
|
|
|
#[return_ref]
|
|
|
|
tokens: Vec<Token>,
|
|
|
|
}
|