diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-15 16:20:31 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-15 16:20:31 +0000 |
commit | 323938dae58576f5fa86ddebf88fdcb5b09662ed (patch) | |
tree | dfeae99da99f6f9b2d91d31f84c0a3b527cfffbe /crates/ra_hir/src/ids.rs | |
parent | 72a4951023f11adfdf0eac353c99d8a01a9471fc (diff) | |
parent | fafcd103d26821a8408572514201a40765bb2d2b (diff) |
Merge #555
555: remove Cancelable from ids r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/ids.rs')
-rw-r--r-- | crates/ra_hir/src/ids.rs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs index 3cbf8070f..0d8e67547 100644 --- a/crates/ra_hir/src/ids.rs +++ b/crates/ra_hir/src/ids.rs | |||
@@ -1,4 +1,4 @@ | |||
1 | use ra_db::{SourceRootId, LocationIntener, Cancelable, FileId}; | 1 | use ra_db::{SourceRootId, LocationIntener, FileId}; |
2 | use ra_syntax::{TreeArc, SyntaxKind, SyntaxNode, SourceFile, AstNode, ast}; | 2 | use ra_syntax::{TreeArc, SyntaxKind, SyntaxNode, SourceFile, AstNode, ast}; |
3 | use ra_arena::{Arena, RawId, impl_arena_id}; | 3 | use ra_arena::{Arena, RawId, impl_arena_id}; |
4 | 4 | ||
@@ -205,25 +205,21 @@ impl DefId { | |||
205 | } | 205 | } |
206 | 206 | ||
207 | /// For a module, returns that module; for any other def, returns the containing module. | 207 | /// For a module, returns that module; for any other def, returns the containing module. |
208 | pub fn module(self, db: &impl HirDatabase) -> Cancelable<Module> { | 208 | pub fn module(self, db: &impl HirDatabase) -> Module { |
209 | let loc = self.loc(db); | 209 | let loc = self.loc(db); |
210 | Ok(Module::from_module_id( | 210 | Module::from_module_id(db, loc.source_root_id, loc.module_id) |
211 | db, | ||
212 | loc.source_root_id, | ||
213 | loc.module_id, | ||
214 | )) | ||
215 | } | 211 | } |
216 | 212 | ||
217 | /// Returns the containing crate. | 213 | /// Returns the containing crate. |
218 | pub fn krate(&self, db: &impl HirDatabase) -> Cancelable<Option<Crate>> { | 214 | pub fn krate(&self, db: &impl HirDatabase) -> Option<Crate> { |
219 | Ok(self.module(db)?.krate(db)) | 215 | self.module(db).krate(db) |
220 | } | 216 | } |
221 | 217 | ||
222 | /// Returns the containing impl block, if this is an impl item. | 218 | /// Returns the containing impl block, if this is an impl item. |
223 | pub fn impl_block(self, db: &impl HirDatabase) -> Cancelable<Option<ImplBlock>> { | 219 | pub fn impl_block(self, db: &impl HirDatabase) -> Option<ImplBlock> { |
224 | let loc = self.loc(db); | 220 | let loc = self.loc(db); |
225 | let module_impls = db.impls_in_module(loc.source_root_id, loc.module_id)?; | 221 | let module_impls = db.impls_in_module(loc.source_root_id, loc.module_id); |
226 | Ok(ImplBlock::containing(module_impls, self)) | 222 | ImplBlock::containing(module_impls, self) |
227 | } | 223 | } |
228 | } | 224 | } |
229 | 225 | ||