diff --git a/crates/ide-completion/src/context.rs b/crates/ide-completion/src/context.rs index b70d6f9e8d..f3e316ff3c 100644 --- a/crates/ide-completion/src/context.rs +++ b/crates/ide-completion/src/context.rs @@ -383,7 +383,6 @@ impl<'a> CompletionContext<'a> { // FIXME: This shouldn't exist pub(crate) fn is_path_disallowed(&self) -> bool { !self.qualifier_ctx.none() - || matches!(self.prev_sibling, Some(ImmediatePrevSibling::Visibility)) || (matches!(self.name_ctx(), Some(NameContext { .. })) && self.pattern_ctx.is_none()) || matches!(self.pattern_ctx, Some(PatternContext { record_pat: Some(_), .. })) || matches!( diff --git a/crates/ide-completion/src/patterns.rs b/crates/ide-completion/src/patterns.rs index 0e146df712..cc599a02cb 100644 --- a/crates/ide-completion/src/patterns.rs +++ b/crates/ide-completion/src/patterns.rs @@ -23,7 +23,6 @@ pub(crate) enum ImmediatePrevSibling { IfExpr, TraitDefName, ImplDefType, - Visibility, } #[derive(Clone, Debug, PartialEq, Eq)] @@ -77,17 +76,6 @@ pub(crate) fn determine_prev_sibling(name_like: &ast::NameLike) -> Option node, }; let prev_sibling = non_trivia_sibling(node.into(), Direction::Prev)?.into_node()?; - if prev_sibling.kind() == ERROR { - let prev_sibling = prev_sibling.first_child()?; - let res = match_ast! { - match prev_sibling { - // vis followed by random ident will always error the parser - ast::Visibility(_) => ImmediatePrevSibling::Visibility, - _ => return None, - } - }; - return Some(res); - } let res = match_ast! { match prev_sibling { ast::ExprStmt(it) => { @@ -442,9 +430,4 @@ mod tests { check_prev_sibling(r"fn foo() { if true {} w$0", ImmediatePrevSibling::IfExpr); check_prev_sibling(r"fn foo() { if true {}; w$0", None); } - - #[test] - fn test_vis_prev_sibling() { - check_prev_sibling(r"pub w$0", ImmediatePrevSibling::Visibility); - } }