[−][src]Struct rustc_hir::Body
The body of a function, closure, or constant value. In the case of a function, the body contains not only the function body itself (which is an expression), but also the argument patterns, since those are something that the caller doesn't really care about.
Examples
fn foo((x, y): (u32, u32)) -> u32 { x + y }
Here, the Body associated with foo() would contain:
- an
paramsarray containing the(x, y)pattern - a
valuecontaining thex + yexpression (maybe wrapped in a block) generator_kindwould beNone
All bodies have an owner, which can be accessed via the HIR
map using body_owner_def_id().
Fields
params: &'hir [Param<'hir>]value: Expr<'hir>generator_kind: Option<GeneratorKind>Implementations
impl<'hir> Body<'hir>[src]
pub fn id(&self) -> BodyId[src]
pub fn generator_kind(&self) -> Option<GeneratorKind>[src]
Trait Implementations
Auto Trait Implementations
impl<'hir> !RefUnwindSafe for Body<'hir>
impl<'hir> !Send for Body<'hir>
impl<'hir> !Sync for Body<'hir>
impl<'hir> Unpin for Body<'hir>
impl<'hir> !UnwindSafe for Body<'hir>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,