mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-31 03:54:42 +00:00 
			
		
		
		
	 c58ddafe90
			
		
	
	
		c58ddafe90
		
	
	
	
	
		
			
			And make more queries non-interned. Also flip the default for queries, now the default is to not intern and to intern a query you need to say `invoke_interned`.
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use query_group_macro::query_group;
 | |
| 
 | |
| #[query_group]
 | |
| pub trait ArityDb: salsa::Database {
 | |
|     #[salsa::invoke_interned(one)]
 | |
|     fn one(&self, a: ()) -> String;
 | |
| 
 | |
|     #[salsa::invoke_interned(two)]
 | |
|     fn two(&self, a: (), b: ()) -> String;
 | |
| 
 | |
|     #[salsa::invoke_interned(three)]
 | |
|     fn three(&self, a: (), b: (), c: ()) -> String;
 | |
| 
 | |
|     #[salsa::invoke_interned(none)]
 | |
|     fn none(&self) -> String;
 | |
| }
 | |
| 
 | |
| fn one(_db: &dyn ArityDb, _a: ()) -> String {
 | |
|     String::new()
 | |
| }
 | |
| 
 | |
| fn two(_db: &dyn ArityDb, _a: (), _b: ()) -> String {
 | |
|     String::new()
 | |
| }
 | |
| 
 | |
| fn three(_db: &dyn ArityDb, _a: (), _b: (), _c: ()) -> String {
 | |
|     String::new()
 | |
| }
 | |
| 
 | |
| fn none(_db: &dyn ArityDb) -> String {
 | |
|     String::new()
 | |
| }
 |