aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ptr.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-07-19 16:22:00 +0100
committerAleksey Kladov <[email protected]>2019-07-19 16:22:00 +0100
commit5c594bcb48f01bdcf3068f72cefffda337a03533 (patch)
treebf584b2bf88a35ebe9e5c91392fecb23b4935c97 /crates/ra_syntax/src/ptr.rs
parent8718a47088585bdb411f37d1b7cd1244d7528eaa (diff)
cleanup casts
Diffstat (limited to 'crates/ra_syntax/src/ptr.rs')
-rw-r--r--crates/ra_syntax/src/ptr.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/crates/ra_syntax/src/ptr.rs b/crates/ra_syntax/src/ptr.rs
index 25824722f..d1b30a2c9 100644
--- a/crates/ra_syntax/src/ptr.rs
+++ b/crates/ra_syntax/src/ptr.rs
@@ -61,12 +61,8 @@ impl<N: AstNode> AstPtr<N> {
61 self.raw 61 self.raw
62 } 62 }
63 63
64 // FIXME: extend AstNode to do this safely 64 pub fn cast<U: AstNode>(self) -> Option<AstPtr<U>> {
65 pub fn cast_checking_kind<U: AstNode>( 65 if !U::can_cast(self.raw.kind()) {
66 self,
67 cond: impl FnOnce(SyntaxKind) -> bool,
68 ) -> Option<AstPtr<U>> {
69 if !cond(self.raw.kind()) {
70 return None; 66 return None;
71 } 67 }
72 Some(AstPtr { raw: self.raw, _ty: PhantomData }) 68 Some(AstPtr { raw: self.raw, _ty: PhantomData })