#[non_exhaustive]pub struct PirNode {
pub id: PirId,
pub source_anchor: PirSourceAnchor,
pub operation: PirOperation,
pub context: PirContext,
pub dynamic_boundary: Option<PirId>,
pub scope: Option<HirScopeId>,
pub package_context: Option<String>,
}Expand description
One PIR node.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: PirIdStable node id within the lowering receipt.
source_anchor: PirSourceAnchorSource anchor explaining why and where this node exists.
operation: PirOperationModeled operation.
context: PirContextExpression context, possibly Unknown.
dynamic_boundary: Option<PirId>Link to a dynamic-boundary node this operation defers to, when any.
scope: Option<HirScopeId>HIR scope this node belongs to, when known.
package_context: Option<String>Package context active at this node, when known.
Trait Implementations§
impl Eq for PirNode
impl StructuralPartialEq for PirNode
Auto Trait Implementations§
impl Freeze for PirNode
impl RefUnwindSafe for PirNode
impl Send for PirNode
impl Sync for PirNode
impl Unpin for PirNode
impl UnsafeUnpin for PirNode
impl UnwindSafe for PirNode
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