Merge #1398
1398: check for cancellation when executing queries r=matklad a=matklad Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
commit
a3a03b65dc
5 changed files with 6 additions and 6 deletions
|
@ -61,7 +61,6 @@ impl HirFileId {
|
|||
db: &impl AstDatabase,
|
||||
file_id: HirFileId,
|
||||
) -> Option<TreeArc<SyntaxNode>> {
|
||||
db.check_canceled();
|
||||
match file_id.0 {
|
||||
HirFileIdRepr::File(file_id) => Some(db.parse(file_id).tree.syntax().to_owned()),
|
||||
HirFileIdRepr::Macro(macro_file) => db.parse_macro(macro_file),
|
||||
|
|
|
@ -234,7 +234,6 @@ impl CrateDefMap {
|
|||
db: &(impl DefDatabase + AstDatabase),
|
||||
krate: Crate,
|
||||
) -> Arc<CrateDefMap> {
|
||||
db.check_canceled();
|
||||
let _p = profile("crate_def_map_query");
|
||||
let def_map = {
|
||||
let edition = krate.edition(db);
|
||||
|
|
|
@ -54,7 +54,6 @@ mod unify;
|
|||
/// The entry point of type inference.
|
||||
pub fn infer_query(db: &impl HirDatabase, def: DefWithBody) -> Arc<InferenceResult> {
|
||||
let _p = profile("infer_query");
|
||||
db.check_canceled();
|
||||
let body = def.body(db);
|
||||
let resolver = def.resolver(db);
|
||||
let mut ctx = InferenceContext::new(db, body, resolver);
|
||||
|
|
|
@ -83,7 +83,6 @@ pub(crate) fn implements_query(
|
|||
krate: Crate,
|
||||
trait_ref: Canonical<TraitRef>,
|
||||
) -> Option<Solution> {
|
||||
db.check_canceled();
|
||||
let _p = profile("implements_query");
|
||||
let goal: chalk_ir::Goal = trait_ref.value.to_chalk(db).cast();
|
||||
debug!("goal: {:?}", goal);
|
||||
|
|
|
@ -33,8 +33,12 @@ impl salsa::Database for RootDatabase {
|
|||
Canceled::throw()
|
||||
}
|
||||
fn salsa_event(&self, event: impl Fn() -> salsa::Event<RootDatabase>) {
|
||||
if let salsa::EventKind::DidValidateMemoizedValue { .. } = event().kind {
|
||||
self.check_canceled();
|
||||
match event().kind {
|
||||
salsa::EventKind::DidValidateMemoizedValue { .. }
|
||||
| salsa::EventKind::WillExecute { .. } => {
|
||||
self.check_canceled();
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue