diff --git a/crates/ra_ide_api_light/src/folding_ranges.rs b/crates/ra_ide_api_light/src/folding_ranges.rs index 0f2f1399b6..87feb9bd8d 100644 --- a/crates/ra_ide_api_light/src/folding_ranges.rs +++ b/crates/ra_ide_api_light/src/folding_ranges.rs @@ -83,7 +83,11 @@ fn fold_kind(kind: SyntaxKind) -> Option { } fn has_visibility(node: &SyntaxNode) -> bool { - return node.descendants().any(|n| n.kind() == VISIBILITY); + use ast::VisibilityOwner; + + return ast::Module::cast(node) + .and_then(|m| m.visibility()) + .is_some(); } fn has_newline(node: &SyntaxNode) -> bool {