Struct rustc::hir::map::blocks::FnLikeNode [−][src]
pub struct FnLikeNode<'a> { node: Node<'a>, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
An FnLikeNode is a Node that is like a fn, in that it has a decl and a body (as well as a NodeId, a span, etc).
More specifically, it is one of either:
- A function item,
- A closure expr (i.e. an ExprKind::Closure), or
- The default implementation for a trait method.
To construct one, use the Code::from_node
function.
Fields
node: Node<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a> FnLikeNode<'a>
[src]
impl<'a> FnLikeNode<'a>
pub fn from_node(node: Node) -> Option<FnLikeNode>
[src]
pub fn from_node(node: Node) -> Option<FnLikeNode>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Attempts to construct a FnLikeNode from presumed FnLike node input.
pub fn body(self) -> BodyId
[src]
pub fn body(self) -> BodyId
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn decl(self) -> &'a FnDecl
[src]
pub fn decl(self) -> &'a FnDecl
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span(self) -> Span
[src]
pub fn span(self) -> Span
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn id(self) -> NodeId
[src]
pub fn id(self) -> NodeId
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn constness(self) -> Constness
[src]
pub fn constness(self) -> Constness
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn asyncness(self) -> IsAsync
[src]
pub fn asyncness(self) -> IsAsync
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn unsafety(self) -> Unsafety
[src]
pub fn unsafety(self) -> Unsafety
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn kind(self) -> FnKind<'a>
[src]
pub fn kind(self) -> FnKind<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn handle<A, I, M, C>(self, item_fn: I, method: M, closure: C) -> A where
I: FnOnce(ItemFnParts<'a>) -> A,
M: FnOnce(NodeId, Ident, &'a MethodSig, Option<&'a Visibility>, BodyId, Span, &'a [Attribute]) -> A,
C: FnOnce(ClosureParts<'a>) -> A,
[src]
fn handle<A, I, M, C>(self, item_fn: I, method: M, closure: C) -> A where
I: FnOnce(ItemFnParts<'a>) -> A,
M: FnOnce(NodeId, Ident, &'a MethodSig, Option<&'a Visibility>, BodyId, Span, &'a [Attribute]) -> A,
C: FnOnce(ClosureParts<'a>) -> A,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl<'a> Copy for FnLikeNode<'a>
[src]
impl<'a> Copy for FnLikeNode<'a>
impl<'a> Clone for FnLikeNode<'a>
[src]
impl<'a> Clone for FnLikeNode<'a>
fn clone(&self) -> FnLikeNode<'a>
[src]
fn clone(&self) -> FnLikeNode<'a>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a> Debug for FnLikeNode<'a>
[src]
impl<'a> Debug for FnLikeNode<'a>
Auto Trait Implementations
impl<'a> !Send for FnLikeNode<'a>
impl<'a> !Send for FnLikeNode<'a>
impl<'a> !Sync for FnLikeNode<'a>
impl<'a> !Sync for FnLikeNode<'a>