#[doc(hidden)]
pub use codegen::impl_for;
#[derive(Clone, Copy, Debug)]
pub enum Either<L, R> {
Left(L),
Right(R),
}
#[derive(Clone, Copy, Debug)]
pub enum Void {}
#[derive(Clone, Copy, Debug)]
#[repr(transparent)]
pub struct Wrapper<T: ?Sized>(pub T);
#[derive(Clone, Copy, Debug)]
#[repr(transparent)]
pub struct External;
pub trait Convert {
type Owned;
type Ref<'a>
where
Self: 'a;
type RefMut<'a>
where
Self: 'a;
fn convert_owned(self) -> Self::Owned;
fn convert_ref(&self) -> Self::Ref<'_>;
fn convert_ref_mut(&mut self) -> Self::RefMut<'_>;
}
pub trait TypeOf {
type T;
}