Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/pattern.rs')
-rw-r--r--crates/ide-completion/src/completions/pattern.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/crates/ide-completion/src/completions/pattern.rs b/crates/ide-completion/src/completions/pattern.rs
index 62fae1cb23..815ce5145d 100644
--- a/crates/ide-completion/src/completions/pattern.rs
+++ b/crates/ide-completion/src/completions/pattern.rs
@@ -64,18 +64,17 @@ pub(crate) fn complete_pattern(
if let Some(hir::Adt::Enum(e)) =
ctx.expected_type.as_ref().and_then(|ty| ty.strip_references().as_adt())
+ && (refutable || single_variant_enum(e))
{
- if refutable || single_variant_enum(e) {
- super::enum_variants_with_paths(
- acc,
- ctx,
- e,
- &pattern_ctx.impl_,
- |acc, ctx, variant, path| {
- acc.add_qualified_variant_pat(ctx, pattern_ctx, variant, path);
- },
- );
- }
+ super::enum_variants_with_paths(
+ acc,
+ ctx,
+ e,
+ &pattern_ctx.impl_,
+ |acc, ctx, variant, path| {
+ acc.add_qualified_variant_pat(ctx, pattern_ctx, variant, path);
+ },
+ );
}
// FIXME: ideally, we should look at the type we are matching against and