diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-10-01 13:47:50 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2023-10-01 14:00:07 +0000 |
| commit | fd51cc6bc958352c60468a0b68e1e617c45f3706 (patch) | |
| tree | 85738117aceaa93c8a93e9aef70cd7e524a47ad9 /compiler | |
| parent | 8fa7bdf191d8658e5ab670766ac0b2d40c7d83c2 (diff) | |
| download | rust-fd51cc6bc958352c60468a0b68e1e617c45f3706.tar.gz rust-fd51cc6bc958352c60468a0b68e1e617c45f3706.zip | |
Use DefKind to check for generator.
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_mir_transform/src/const_prop_lint.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_mir_transform/src/const_prop_lint.rs b/compiler/rustc_mir_transform/src/const_prop_lint.rs index 64e262c6c93..95d87c288da 100644 --- a/compiler/rustc_mir_transform/src/const_prop_lint.rs +++ b/compiler/rustc_mir_transform/src/const_prop_lint.rs @@ -49,8 +49,9 @@ impl<'tcx> MirLint<'tcx> for ConstProp { } let def_id = body.source.def_id().expect_local(); - let is_fn_like = tcx.def_kind(def_id).is_fn_like(); - let is_assoc_const = tcx.def_kind(def_id) == DefKind::AssocConst; + let def_kind = tcx.def_kind(def_id); + let is_fn_like = def_kind.is_fn_like(); + let is_assoc_const = def_kind == DefKind::AssocConst; // Only run const prop on functions, methods, closures and associated constants if !is_fn_like && !is_assoc_const { @@ -59,10 +60,9 @@ impl<'tcx> MirLint<'tcx> for ConstProp { return; } - let is_generator = tcx.type_of(def_id.to_def_id()).instantiate_identity().is_generator(); // FIXME(welseywiser) const prop doesn't work on generators because of query cycles // computing their layout. - if is_generator { + if let DefKind::Generator = def_kind { trace!("ConstProp skipped for generator {:?}", def_id); return; } |
