pub struct ThreadRegistryEntry {
pub state: Rc<RefCell<LuaState>>,
pub value: GcRef<LuaThread>,
}Expand description
One row of GlobalState::threads. Pairs the per-thread LuaState
with the canonical GcRef<LuaThread> so every push_thread for the
same id shares pointer-identity. Phase E-1 adds this; Phase E-2
extends it with interior-mutability bookkeeping when resume/yield
need to mutate the child thread while the parent holds a borrow.
Fields§
§state: Rc<RefCell<LuaState>>The owned coroutine LuaState. Wrapped in Rc<RefCell<...>> so
that coroutine.resume can borrow the child mutably while the
parent is still in scope. Single-threaded — borrows never overlap
in practice because only one resume path is live at a time.
value: GcRef<LuaThread>Canonical thread-value handle. Reused on every push so
GcRef::ptr_eq is true across pushes.
Auto Trait Implementations§
impl Freeze for ThreadRegistryEntry
impl !RefUnwindSafe for ThreadRegistryEntry
impl !Send for ThreadRegistryEntry
impl !Sync for ThreadRegistryEntry
impl Unpin for ThreadRegistryEntry
impl UnsafeUnpin for ThreadRegistryEntry
impl !UnwindSafe for ThreadRegistryEntry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more