#![no_std]
#![cfg_attr(feature = "unstable", feature(associated_type_bounds))]
extern crate maybe_std as base;
pub trait Wrapper<Inner> {
fn into_inner(self) -> Inner;
}
macro_rules! implement_newtype_t {
($t:ty) => {
impl<T> Wrapper<T> for $t {
fn into_inner(self) -> T {
self.0
}
}
}
}
macro_rules! implement_into_inner {
($t:ty, $from:ty) => {
impl Wrapper<$from> for $t {
fn into_inner(self) -> $from {
<$t>::into_inner(self)
}
}
}
}
macro_rules! implement_into_inner_t {
($t:ty) => {
impl<T> Wrapper<T> for $t {
fn into_inner(self) -> T {
<$t>::into_inner(self)
}
}
}
}
mod impls_core;
pub use impls_core::*;
#[cfg(any(feature = "alloc", feature = "std"))]
mod impls_alloc;
#[cfg(any(feature = "alloc", feature = "std"))]
pub use impls_alloc::*;
#[cfg(feature = "std")]
mod impls_std;
#[cfg(feature = "std")]
pub use impls_std::*;