devela 0.27.0

A development layer of coherence.
Documentation
// devela::sys::mem::_reexport_alloc

use crate::{_reexport, _tags};
#[cfg(doc)]
use crate::{Bare, BareBox, Boxed, Storage};

_reexport! { rust: alloc::boxed, location: "sys::mem", tag: _tags!(mem),
    doc: "A pointer type that uniquely owns a heap allocation of type `T`.",
    +doc: "It is used as the underlying [`Storage`] for the [`Boxed`] marker struct,
    just as a [`BareBox`] is used as the storage for [`Bare`].

A special magic property of `Box` is that it allows moving with `*boxed`, unlike
other `Deref` types. It is hoped that an eventual `DerefMove` trait will make it
possible for other types to opt in to move-from-deref.
",
    Box
}

_reexport! { rust: alloc::rc, location: "sys::mem", tag: _tags!(mem lifetime),
    doc: "A single-threaded reference-counting pointer.",
    Rc
}
_reexport! { rust: alloc::rc, location: "sys::mem", tag: _tags!(mem lifetime),
    doc: "A version of `Rc` that holds a non-owning ref to the managed allocation.",
    @Weak as RcWeak
}