From c4dba5a64efe340a779d8a1ee8c332140c51180e Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 27 Aug 2021 17:13:41 -0400 Subject: [PATCH] use `|=` --- compiler/rustc_typeck/src/expr_use_visitor.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/rustc_typeck/src/expr_use_visitor.rs b/compiler/rustc_typeck/src/expr_use_visitor.rs index d999c17b579..1c60ef7bda0 100644 --- a/compiler/rustc_typeck/src/expr_use_visitor.rs +++ b/compiler/rustc_typeck/src/expr_use_visitor.rs @@ -262,12 +262,14 @@ pub fn walk_expr(&mut self, expr: &hir::Expr<'_>) { | Res::Def(DefKind::AssocConst, _) => { // Named constants have to be equated with the value // being matched, so that's a read of the value being matched. + // + // FIXME: We don't actually reads for ZSTs. needs_to_be_read = true; } _ => { // Otherwise, this is a struct/enum variant, and so it's // only a read if we need to read the discriminant. - needs_to_be_read = is_multivariant_adt(place.place.ty()); + needs_to_be_read |= is_multivariant_adt(place.place.ty()); } } } @@ -279,9 +281,7 @@ pub fn walk_expr(&mut self, expr: &hir::Expr<'_>) { // perform some reads). let place_ty = place.place.ty(); - if is_multivariant_adt(place_ty) { - needs_to_be_read = true; - } + needs_to_be_read |= is_multivariant_adt(place_ty); } PatKind::Lit(_) | PatKind::Range(..) => { // If the PatKind is a Lit or a Range then we want -- 2.44.0