]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #75985 - csmoe:issue-61076-1, r=estebank
authorbors <bors@rust-lang.org>
Sat, 29 Aug 2020 10:07:05 +0000 (10:07 +0000)
committerbors <bors@rust-lang.org>
Sat, 29 Aug 2020 10:07:05 +0000 (10:07 +0000)
Should not apply field accessing on enum

Closes #75977
But I'm surprised that `x.py test --stage 1` and CI didn't catch this with existing testcase.
r? @estebank

src/librustc_typeck/check/expr.rs

index ad4418ddca74a4fd243bc531f6a4ae1f8120709d..1573fb967910b3ad33bba5c4b88dfeeff471898c 100644 (file)
@@ -1545,13 +1545,17 @@ fn suggest_await_on_field_access(
                 normalized_ty.kind,
             );
             if let ty::Adt(def, _) = normalized_ty.kind {
-                if def.non_enum_variant().fields.iter().any(|field| field.ident == field_ident) {
-                    err.span_suggestion_verbose(
-                        base.span.shrink_to_hi(),
-                        "consider awaiting before field access",
-                        ".await".to_string(),
-                        Applicability::MaybeIncorrect,
-                    );
+                // no field access on enum type
+                if !def.is_enum() {
+                    if def.non_enum_variant().fields.iter().any(|field| field.ident == field_ident)
+                    {
+                        err.span_suggestion_verbose(
+                            base.span.shrink_to_hi(),
+                            "consider awaiting before field access",
+                            ".await".to_string(),
+                            Applicability::MaybeIncorrect,
+                        );
+                    }
                 }
             }
         }