pub struct ScopeWires {
pub names: Vec<String>,
}Expand description
What a scope of a parsed program binds, by name.
A host that rewrites a program before compiling it often needs to know what the program will call things — which wires a scope has, so an added binding can name them. The compiled program knows exactly; a host that only has the source would otherwise work it out again, and a second implementation of “what does this scope bind” is a second answer to a question with one.
declared_wires is that answer, read from the AST. It is checked
against the compiler’s own in the suite.
Fields§
§names: Vec<String>Names bound in this scope, in declaration order: bindings, tiles, and — inside a traversal body — the element names the traversal’s source binds.
Implementations§
Trait Implementations§
Source§impl Clone for ScopeWires
impl Clone for ScopeWires
Source§impl Debug for ScopeWires
impl Debug for ScopeWires
Source§impl Default for ScopeWires
impl Default for ScopeWires
impl Eq for ScopeWires
Source§impl PartialEq for ScopeWires
impl PartialEq for ScopeWires
impl StructuralPartialEq for ScopeWires
Auto Trait Implementations§
impl Freeze for ScopeWires
impl RefUnwindSafe for ScopeWires
impl Send for ScopeWires
impl Sync for ScopeWires
impl Unpin for ScopeWires
impl UnsafeUnpin for ScopeWires
impl UnwindSafe for ScopeWires
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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