struct LocalTable {
inner: Rc<RefCell<LocalTableInner>>,
}
Fields§
§inner: Rc<RefCell<LocalTableInner>>
Implementations§
Source§impl LocalTable
impl LocalTable
fn new( symbol_table: &mut SymbolTable, id: NodeID, parent: Option<NodeID>, ) -> Self
Sourcefn dup(&self, new_id: NodeID) -> Self
fn dup(&self, new_id: NodeID) -> Self
Creates a duplicate of this local scope with a new NodeID
.
TODO: This currently clones the children
list, which is incorrect. The new scope may incorrectly
appear to have descendants that still belong to the original scope. This breaks the structure of
the scope tree and may cause symbol resolution to behave incorrectly.
Trait Implementations§
Source§impl Clone for LocalTable
impl Clone for LocalTable
Source§fn clone(&self) -> LocalTable
fn clone(&self) -> LocalTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for LocalTable
impl Debug for LocalTable
Source§impl Default for LocalTable
impl Default for LocalTable
Source§fn default() -> LocalTable
fn default() -> LocalTable
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LocalTable
impl !RefUnwindSafe for LocalTable
impl !Send for LocalTable
impl !Sync for LocalTable
impl Unpin for LocalTable
impl !UnwindSafe for LocalTable
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more