diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/generator/non-static-is-unpin.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/generator/non-static-is-unpin.rs b/src/test/ui/generator/non-static-is-unpin.rs new file mode 100644 index 000000000..96d0a8e28 --- /dev/null +++ b/src/test/ui/generator/non-static-is-unpin.rs @@ -0,0 +1,18 @@ +// run-pass + +#![feature(generators, generator_trait)] + +use std::marker::{PhantomPinned, Unpin}; + +fn assert_unpin<G: Unpin>(_: G) { +} + +fn main() { + // Even though this generator holds a `PhantomPinned` in its environment, it + // remains `Unpin`. + assert_unpin(|| { + let pinned = PhantomPinned; + yield; + drop(pinned); + }); +} |