mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
Merge commit 'ddf105b646
' into sync-from-ra
This commit is contained in:
parent
0816d49d83
commit
e41ab350d6
378 changed files with 14720 additions and 3111 deletions
51
crates/salsa/tests/variadic.rs
Normal file
51
crates/salsa/tests/variadic.rs
Normal file
|
@ -0,0 +1,51 @@
|
|||
#[salsa::query_group(HelloWorld)]
|
||||
trait HelloWorldDatabase: salsa::Database {
|
||||
#[salsa::input]
|
||||
fn input(&self, a: u32, b: u32) -> u32;
|
||||
|
||||
fn none(&self) -> u32;
|
||||
|
||||
fn one(&self, k: u32) -> u32;
|
||||
|
||||
fn two(&self, a: u32, b: u32) -> u32;
|
||||
|
||||
fn trailing(&self, a: u32, b: u32) -> u32;
|
||||
}
|
||||
|
||||
fn none(_db: &dyn HelloWorldDatabase) -> u32 {
|
||||
22
|
||||
}
|
||||
|
||||
fn one(_db: &dyn HelloWorldDatabase, k: u32) -> u32 {
|
||||
k * 2
|
||||
}
|
||||
|
||||
fn two(_db: &dyn HelloWorldDatabase, a: u32, b: u32) -> u32 {
|
||||
a * b
|
||||
}
|
||||
|
||||
fn trailing(_db: &dyn HelloWorldDatabase, a: u32, b: u32) -> u32 {
|
||||
a - b
|
||||
}
|
||||
|
||||
#[salsa::database(HelloWorld)]
|
||||
#[derive(Default)]
|
||||
struct DatabaseStruct {
|
||||
storage: salsa::Storage<Self>,
|
||||
}
|
||||
|
||||
impl salsa::Database for DatabaseStruct {}
|
||||
|
||||
#[test]
|
||||
fn execute() {
|
||||
let mut db = DatabaseStruct::default();
|
||||
|
||||
// test what happens with inputs:
|
||||
db.set_input(1, 2, 3);
|
||||
assert_eq!(db.input(1, 2), 3);
|
||||
|
||||
assert_eq!(db.none(), 22);
|
||||
assert_eq!(db.one(11), 22);
|
||||
assert_eq!(db.two(11, 2), 22);
|
||||
assert_eq!(db.trailing(24, 2), 22);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue