| use query_group_macro::query_group; | |
| #[salsa_macros::db] | |
| pub trait SourceDb: salsa::Database { | |
| /// Text of the file. | |
| fn file_text(&self, id: usize) -> String; | |
| } | |
| #[query_group] | |
| pub trait RootDb: SourceDb { | |
| #[salsa::invoke_interned(parse)] | |
| fn parse(&self, id: usize) -> String; | |
| } | |
| fn parse(db: &dyn RootDb, id: usize) -> String { | |
| // this is the test: does the following compile? | |
| db.file_text(id); | |
| String::new() | |
| } |