Trait rustc_ap_rustc_data_structures::owning_ref::IntoErased[][src]

pub unsafe trait IntoErased<'a> {
    type Erased;
    fn into_erased(self) -> Self::Erased;
}
Expand description

Helper trait for erasing the concrete type of what an owner dereferences to, for example Box<T> -> Box<Erased>. This would be unneeded with higher kinded types support in the language.

Associated Types

type Erased[src]

Owner with the dereference type substituted to Erased.

Required methods

fn into_erased(self) -> Self::Erased[src]

Performs the type erasure.

Implementations on Foreign Types

impl<'a, T: 'a> IntoErased<'a> for Box<T>[src]

type Erased = Box<dyn Erased + 'a>

fn into_erased(self) -> Self::Erased[src]

impl<'a, T: 'a> IntoErased<'a> for Arc<T>[src]

type Erased = Arc<dyn Erased + 'a>

fn into_erased(self) -> Self::Erased[src]

Implementors

impl<'a, T: 'a> IntoErased<'a> for Rc<T>[src]

type Erased = Rc<dyn Erased + 'a>

fn into_erased(self) -> Self::Erased[src]