]> git.lizzy.rs Git - rust.git/commitdiff
Fail fast if generator_kind is None
authorDavid Haig <david@ninjasource.com>
Tue, 26 Nov 2019 12:45:19 +0000 (12:45 +0000)
committerDavid Haig <david@ninjasource.com>
Thu, 28 Nov 2019 07:46:34 +0000 (07:46 +0000)
src/librustc_mir/transform/generator.rs

index 943e8e094daae02077f34cefcf0b781494de9c4f..5d88629435bf1a2a76c2f5b19fe213bfd07b90e0 100644 (file)
@@ -1064,14 +1064,15 @@ fn create_generator_resume_function<'tcx>(
     cases.insert(0, (UNRESUMED, BasicBlock::new(0)));
 
     // Panic when resumed on the returned or poisoned state
-    if let Some(generator_kind) = body.generator_kind {
-        cases.insert(1, (RETURNED, insert_panic_block(tcx,
-                                                      body,
-                                                      ResumedAfterReturn(generator_kind))));
-        cases.insert(2, (POISONED, insert_panic_block(tcx,
-                                                      body,
-                                                      ResumedAfterPanic(generator_kind))));
-    };
+    let generator_kind = body.generator_kind.unwrap();
+    cases.insert(1, (RETURNED, insert_panic_block(
+        tcx,
+        body,
+        ResumedAfterReturn(generator_kind))));
+    cases.insert(2, (POISONED, insert_panic_block(
+        tcx,
+        body,
+        ResumedAfterPanic(generator_kind))));
 
     insert_switch(body, cases, &transform, TerminatorKind::Unreachable);