diff --git a/clippy_lints/src/redundant_clone.rs b/clippy_lints/src/redundant_clone.rs index ddb0c7484348..1b4e507d47bc 100644 --- a/clippy_lints/src/redundant_clone.rs +++ b/clippy_lints/src/redundant_clone.rs @@ -82,6 +82,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for RedundantClone { let mir = cx.tcx.optimized_mir(def_id); let mir_read_only = mir.unwrap_read_only(); + if mir.generator_drop.is_some() { + return; + } + let maybe_storage_live_result = MaybeStorageLive .into_engine(cx.tcx, mir, def_id) .iterate_to_fixpoint() diff --git a/tests/ui/crashes/ice-5238.rs b/tests/ui/crashes/ice-5238.rs new file mode 100644 index 000000000000..5ea324127fce --- /dev/null +++ b/tests/ui/crashes/ice-5238.rs @@ -0,0 +1,9 @@ +// Regression test for #5238 + +#![feature(generators, generator_trait)] + +fn main() { + let _ = || { + yield; + }; +}