diff options
Diffstat (limited to 'crates/ra_editor/src/symbols.rs')
-rw-r--r-- | crates/ra_editor/src/symbols.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/ra_editor/src/symbols.rs b/crates/ra_editor/src/symbols.rs index c3c66680d..0bab9dd67 100644 --- a/crates/ra_editor/src/symbols.rs +++ b/crates/ra_editor/src/symbols.rs | |||
@@ -54,15 +54,15 @@ pub fn file_structure(file: &File) -> Vec<StructureNode> { | |||
54 | let mut res = Vec::new(); | 54 | let mut res = Vec::new(); |
55 | let mut stack = Vec::new(); | 55 | let mut stack = Vec::new(); |
56 | 56 | ||
57 | |||
57 | for event in file.syntax().preorder() { | 58 | for event in file.syntax().preorder() { |
58 | match event { | 59 | match event { |
59 | WalkEvent::Enter(node) => match structure_node(node) { | 60 | WalkEvent::Enter(node) => { |
60 | Some(mut symbol) => { | 61 | if let Some(mut symbol) = structure_node(node) { |
61 | symbol.parent = stack.last().map(|&n| n); | 62 | symbol.parent = stack.last().map(|&n| n); |
62 | stack.push(res.len()); | 63 | stack.push(res.len()); |
63 | res.push(symbol); | 64 | res.push(symbol); |
64 | } | 65 | } |
65 | None => (), | ||
66 | }, | 66 | }, |
67 | WalkEvent::Leave(node) => { | 67 | WalkEvent::Leave(node) => { |
68 | if structure_node(node).is_some() { | 68 | if structure_node(node).is_some() { |