Use Default everywhere

This commit is contained in:
Aleksey Kladov 2018-11-04 14:09:21 +03:00
parent cca5f862de
commit f29b0172fb
7 changed files with 23 additions and 34 deletions

View file

@ -2,7 +2,7 @@ use std::sync::Arc;
use ra_editor::LineIndex;
use ra_syntax::{File, SyntaxNode};
use salsa;
use salsa::{self, Database};
use crate::{
db,
@ -15,7 +15,7 @@ use crate::{
Cancelable, Canceled, FileId,
};
#[derive(Default, Debug)]
#[derive(Debug)]
pub(crate) struct RootDatabase {
runtime: salsa::Runtime<RootDatabase>,
}
@ -26,6 +26,21 @@ impl salsa::Database for RootDatabase {
}
}
impl Default for RootDatabase {
fn default() -> RootDatabase {
let mut db = RootDatabase {
runtime: Default::default(),
};
db.query_mut(crate::input::SourceRootQuery)
.set(crate::input::WORKSPACE, Default::default());
db.query_mut(crate::input::CrateGraphQuery)
.set((), Default::default());
db.query_mut(crate::input::LibrariesQuery)
.set((), Default::default());
db
}
}
pub(crate) fn check_canceled(db: &impl salsa::Database) -> Cancelable<()> {
if db.salsa_runtime().is_current_revision_canceled() {
Err(Canceled)