[−][src]Trait glsp_engine::GStore
An auto trait for types which can be stored on the garbage-collected heap.
This is enforced with a GStore
bound on the RStore
trait, so that all
types stored in an RData
must implement GStore
.
This trait is automatically implemented for most types. The main counterexample is
Root
(and any type which transitively contains a Root
, like
Val
), because storing a Root
on the garbage-collected heap would
be too likely to cause memory leaks.
Note that libraries are not stored on the garbage-collected heap, so
library types don't need to implement GStore
, and it's fine for libraries to contain
Root
s.
Implementations on Foreign Types
impl GStore for isize
impl GStore for i8
impl GStore for i16
impl GStore for i32
impl GStore for i64
impl GStore for i128
impl GStore for usize
impl GStore for u8
impl GStore for u16
impl GStore for u32
impl GStore for u64
impl GStore for u128
impl GStore for f32
impl GStore for f64
impl GStore for bool
impl GStore for char
impl GStore for str
impl<T> GStore for [T] where
T: GStore,
T: GStore,
impl GStore for [u8]
impl<T: ?Sized> GStore for *const T where
T: GStore,
T: GStore,
impl<T: ?Sized> GStore for *mut T where
T: GStore,
T: GStore,
impl<T> GStore for *const [T] where
T: GStore,
T: GStore,
impl<T> GStore for *mut [T] where
T: GStore,
Loading content...
T: GStore,
Implementors
impl GStore for RData
[src]
impl<T> !GStore for LibRef<T>
[src]
impl<T> !GStore for LibRefMut<T>
[src]
impl<T> !GStore for RRef<T>
[src]
impl<T> !GStore for RRefMut<T>
[src]
impl<T> !GStore for Root<T>
[src]
Auto implementors
impl !GStore for Callable
impl !GStore for Deque
impl !GStore for Expander
impl !GStore for Expansion
impl !GStore for Iterable
impl !GStore for Val
impl !GStore for GError
impl GStore for CoroState
impl GStore for EnvMode
impl GStore for GIterLen
impl GStore for Num
impl GStore for Arr
impl GStore for Class
impl GStore for Coro
impl GStore for GFn
impl GStore for GIter
impl GStore for Obj
impl GStore for RClass
impl GStore for RFn
impl GStore for Str
impl GStore for Sym
impl GStore for Tab
impl GStore for WrappedFn
impl<'a> GStore for TabEntries<'a>
impl<'a, 'b> GStore for IterTab<'a, 'b>
impl<'a, 'b> GStore for IterTabKeys<'a, 'b>
impl<'a, 'b> GStore for IterTabValues<'a, 'b>
impl<'a, 'b, K> GStore for IterTabKeysTo<'a, 'b, K> where
K: GStore,
K: GStore,
impl<'a, 'b, K, V> GStore for IterTabTo<'a, 'b, K, V> where
K: GStore,
V: GStore,
K: GStore,
V: GStore,
impl<'a, 'b, V> GStore for IterTabValuesTo<'a, 'b, V> where
V: GStore,
V: GStore,
impl<'a, T> GStore for IterDeque<'a, T> where
T: GStore,
T: GStore,
impl<'a, T, R> GStore for IterDequeTo<'a, T, R> where
R: GStore,
T: GStore,
R: GStore,
T: GStore,
impl<T> !GStore for RRoot<T>
impl<T> GStore for OrNil<T> where
T: GStore,
T: GStore,