diff options
| author | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2020-11-11 00:00:00 +0000 |
|---|---|---|
| committer | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2020-11-12 20:09:04 +0100 |
| commit | 66cadec1763ac645337c1ac58f06ea48b9b72a26 (patch) | |
| tree | 2290df57297ddb43400e090e6dab732c5875acf2 /src/test/mir-opt | |
| parent | 9bb3d6b7d472e2116312ea45db07a5338af205fb (diff) | |
| download | rust-66cadec1763ac645337c1ac58f06ea48b9b72a26.tar.gz rust-66cadec1763ac645337c1ac58f06ea48b9b72a26.zip | |
Fix generator inlining by checking for rust-call abi and spread arg
Diffstat (limited to 'src/test/mir-opt')
| -rw-r--r-- | src/test/mir-opt/inline/inline-generator.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/mir-opt/inline/inline-generator.rs b/src/test/mir-opt/inline/inline-generator.rs new file mode 100644 index 00000000000..d11b3e548f7 --- /dev/null +++ b/src/test/mir-opt/inline/inline-generator.rs @@ -0,0 +1,16 @@ +// ignore-wasm32-bare compiled with panic=abort by default +#![feature(generators, generator_trait)] + +use std::ops::Generator; +use std::pin::Pin; + +// EMIT_MIR inline_generator.main.Inline.diff +fn main() { + let _r = Pin::new(&mut g()).resume(false); +} + +#[inline(always)] +pub fn g() -> impl Generator<bool> { + #[inline(always)] + |a| { yield if a { 7 } else { 13 } } +} |
