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>