Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/ide-completion/src/completions.rs3
-rw-r--r--crates/ide-completion/src/tests/item.rs20
2 files changed, 20 insertions, 3 deletions
diff --git a/crates/ide-completion/src/completions.rs b/crates/ide-completion/src/completions.rs
index 4a94383ff4..8e2ef2b2ab 100644
--- a/crates/ide-completion/src/completions.rs
+++ b/crates/ide-completion/src/completions.rs
@@ -276,9 +276,6 @@ impl Completions {
path_ctx: &PathCompletionCtx<'_>,
e: hir::Enum,
) {
- if !ctx.check_stability_and_hidden(e) {
- return;
- }
e.variants(ctx.db)
.into_iter()
.for_each(|variant| self.add_enum_variant(ctx, path_ctx, variant, None));
diff --git a/crates/ide-completion/src/tests/item.rs b/crates/ide-completion/src/tests/item.rs
index 2f032c3f4c..45024ad216 100644
--- a/crates/ide-completion/src/tests/item.rs
+++ b/crates/ide-completion/src/tests/item.rs
@@ -380,3 +380,23 @@ foo!(f$0);
"#]],
);
}
+
+#[test]
+fn completes_variant_through_hidden_enum_alias() {
+ check(
+ r#"
+//- /lib.rs crate:dep
+#[doc(hidden)]
+pub enum Foo { Variant }
+pub type Bar = Foo;
+
+//- /main.rs crate:main deps:dep
+fn main() {
+ let x = dep::Bar::V$0;
+}
+"#,
+ expect![[r#"
+ ev Variant Variant
+ "#]],
+ );
+}