diff options
| -rw-r--r-- | compiler/rustc_mir_build/src/thir/cx/expr.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-97634.rs | 2 |
2 files changed, 7 insertions, 9 deletions
diff --git a/compiler/rustc_mir_build/src/thir/cx/expr.rs b/compiler/rustc_mir_build/src/thir/cx/expr.rs index b127b264b83..a0878c97e88 100644 --- a/compiler/rustc_mir_build/src/thir/cx/expr.rs +++ b/compiler/rustc_mir_build/src/thir/cx/expr.rs @@ -203,14 +203,12 @@ impl<'tcx> Cx<'tcx> { let res = self.typeck_results().qpath_res(qpath, source.hir_id); let ty = self.typeck_results().node_type(source.hir_id); let ty::Adt(adt_def, substs) = ty.kind() else { - return ExprKind::Cast { source: self.mirror_expr(source)}; - }; - let Res::Def( - DefKind::Ctor(CtorOf::Variant, CtorKind::Const), - variant_ctor_id, - ) = res else { - return ExprKind::Cast { source: self.mirror_expr(source)}; - }; + return ExprKind::Cast { source: self.mirror_expr(source)}; + }; + + let Res::Def(DefKind::Ctor(CtorOf::Variant, CtorKind::Const), variant_ctor_id) = res else { + return ExprKind::Cast { source: self.mirror_expr(source)}; + }; let idx = adt_def.variant_index_with_ctor_id(variant_ctor_id); let (discr_did, discr_offset) = adt_def.discriminant_def_for_variant(idx); diff --git a/src/test/ui/const-generics/issues/issue-97634.rs b/src/test/ui/const-generics/issues/issue-97634.rs index a04036d0647..422e8de6856 100644 --- a/src/test/ui/const-generics/issues/issue-97634.rs +++ b/src/test/ui/const-generics/issues/issue-97634.rs @@ -1,4 +1,4 @@ -//build-pass +// build-pass pub enum Register<const N: u16> { Field0 = 40, |
