diff options
Diffstat (limited to 'src/test/mir-opt/generator-tiny.rs')
-rw-r--r-- | src/test/mir-opt/generator-tiny.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/mir-opt/generator-tiny.rs b/src/test/mir-opt/generator-tiny.rs new file mode 100644 index 000000000..7dad63a61 --- /dev/null +++ b/src/test/mir-opt/generator-tiny.rs @@ -0,0 +1,26 @@ +//! Tests that generators that cannot return or unwind don't have unnecessary +//! panic branches. + +// compile-flags: -C panic=abort +// no-prefer-dynamic + +#![feature(generators, generator_trait)] + +struct HasDrop; + +impl Drop for HasDrop { + fn drop(&mut self) {} +} + +fn callee() {} + +// EMIT_MIR generator_tiny.main-{closure#0}.generator_resume.0.mir +fn main() { + let _gen = |_x: u8| { + let _d = HasDrop; + loop { + yield; + callee(); + } + }; +} |