rune::core::object::symbol

Type Alias SymbolCell

Source
pub(crate) type SymbolCell = GcHeap<SymbolCellInner>;
Expand description

The allocation of a global symbol. This is shared between threads, so the interned value of a symbol will be the same location no matter which thread interned it. Functions are safe to share between threads because they are marked immutable by SymbolMap::set_func and they can only be replaced atomically. In order to garbage collect the function we need to halt all running threads. This has not been implemented yet.

Aliased Type§

struct SymbolCell {
    header: UnsafeCell<GcHeader>,
    data: SymbolCellInner,
}

Fields§

§header: UnsafeCell<GcHeader>§data: SymbolCellInner