diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2017-07-05 15:02:30 -0700 |
|---|---|---|
| committer | John Kåre Alsaker <john.kare.alsaker@gmail.com> | 2017-07-28 15:46:23 +0200 |
| commit | 81030176dd36ad1efc0149ff8d57626bf42006d1 (patch) | |
| tree | b51560fdf57645a29316d47e04987eb1ac8ecd19 /src/liballoc | |
| parent | 17c749f3eee953e204462870e68b64712a5c3576 (diff) | |
| download | rust-81030176dd36ad1efc0149ff8d57626bf42006d1.tar.gz rust-81030176dd36ad1efc0149ff8d57626bf42006d1.zip | |
std: Add forwarding impls of `Generator` trait
Diffstat (limited to 'src/liballoc')
| -rw-r--r-- | src/liballoc/boxed.rs | 13 | ||||
| -rw-r--r-- | src/liballoc/lib.rs | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs index 6318d22059f..079a525f951 100644 --- a/src/liballoc/boxed.rs +++ b/src/liballoc/boxed.rs @@ -66,7 +66,7 @@ use core::hash::{self, Hash}; use core::iter::FusedIterator; use core::marker::{self, Unsize}; use core::mem; -use core::ops::{CoerceUnsized, Deref, DerefMut}; +use core::ops::{CoerceUnsized, Deref, DerefMut, Generator, State}; use core::ops::{BoxPlace, Boxed, InPlace, Place, Placer}; use core::ptr::{self, Unique}; use core::convert::From; @@ -784,3 +784,14 @@ impl<T: ?Sized> AsMut<T> for Box<T> { &mut **self } } + +#[unstable(feature = "generator_trait", issue = "0")] +impl<T, U> Generator<U> for Box<T> + where T: Generator<U> + ?Sized +{ + type Yield = T::Yield; + type Return = T::Return; + fn resume(&mut self, arg: U) -> State<Self::Yield, Self::Return> { + (**self).resume(arg) + } +} diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs index 227fcfabcf1..1252be447c3 100644 --- a/src/liballoc/lib.rs +++ b/src/liballoc/lib.rs @@ -97,6 +97,7 @@ #![feature(fundamental)] #![feature(fused)] #![feature(generic_param_attrs)] +#![feature(generator_trait)] #![feature(i128_type)] #![feature(inclusive_range)] #![feature(lang_items)] |
