use super::*;
#[doc(alias="immediate")]#[doc(alias="immediat")]#[doc(alias="immedia")]#[doc(alias="immedi")]#[doc(alias="immed")]
pub trait AsWidget<E> where E: Env {
fn as_ref<'s>(&'s self) -> Resolvable<'s,E>;
fn into_ref<'w>(self) -> Resolvable<'w,E> where Self: 'w;
}
#[doc(alias="immediate")]#[doc(alias="immediat")]#[doc(alias="immedia")]#[doc(alias="immedi")]#[doc(alias="immed")]
pub trait AsWidgetMut<E>: AsWidget<E> where E: Env {
fn as_mut<'s>(&'s mut self) -> ResolvableMut<'s,E>;
fn into_mut<'w>(self) -> ResolvableMut<'w,E> where Self: 'w;
}
impl<E,T> AsWidget<E> for T where T: Widget<E>, E: Env {
#[inline]
fn as_ref(&self) -> Resolvable<E> {
Resolvable::Widget(self.box_ref())
}
#[inline]
fn into_ref<'w>(self) -> Resolvable<'w,E> where Self: 'w {
Resolvable::Widget(Box::new(self))
}
}
impl<E,T> AsWidgetMut<E> for T where T: WidgetMut<E>, E: Env {
#[inline]
fn as_mut(&mut self) -> ResolvableMut<E> {
ResolvableMut::Widget(self.box_mut())
}
#[inline]
fn into_mut<'w>(self) -> ResolvableMut<'w,E> where Self: 'w {
ResolvableMut::Widget(Box::new(self))
}
}