pub struct Block {
pub stmts: Vec<Stmt>,
pub table: Rc<RefCell<SymbolTable>>,
pub ret_type: Option<DataType>,
pub attrs: Vec<Attribute>,
pub range: TextRange,
}
Expand description
Defines a code block (i.e., a series of statements).
Fields§
§stmts: Vec<Stmt>
The list of statements in this Block.
table: Rc<RefCell<SymbolTable>>
The SymbolTable that remembers the scope of this block.
ret_type: Option<DataType>
The return type as found in this block.
attrs: Vec<Attribute>
A list of attributes attached to this block.
range: TextRange
The range of the block in the source text.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Block
impl !RefUnwindSafe for Block
impl !Send for Block
impl !Sync for Block
impl Unpin for Block
impl !UnwindSafe for Block
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request