pub struct LogicPath<A: Hash + Eq + Clone> {
pub target: LogicPathTarget<A>,
pub sources: FxHashSet<VarAtomBase<A>>,
pub previous_sources: FxHashSet<VarAtomBase<A>>,
pub address_sources: FxHashSet<VarAtomBase<A>>,
pub local_inputs: Vec<(A, NodeId)>,
pub order_before: FxHashSet<LogicPathId>,
pub comb_capture_enable_sites: Vec<u32>,
pub comb_capture_enable_always: bool,
pub pre_lower_nodes: Vec<NodeId>,
pub expr: NodeId,
}Fields§
§target: LogicPathTarget<A>Semantic combinational process which produced this range definition.
sources: FxHashSet<VarAtomBase<A>>§previous_sources: FxHashSet<VarAtomBase<A>>§address_sources: FxHashSet<VarAtomBase<A>>Sources used to compute a dynamic address. These remain ordinary dependencies even when they overlap a previous-value source.
local_inputs: Vec<(A, NodeId)>§order_before: FxHashSet<LogicPathId>§comb_capture_enable_sites: Vec<u32>§comb_capture_enable_always: boolEnable the listed capture sites whenever this path executes, even when assignment conversion leaves the stored target unchanged.
pre_lower_nodes: Vec<NodeId>§expr: NodeIdImplementations§
Trait Implementations§
Source§impl<'de, A> Deserialize<'de> for LogicPath<A>
impl<'de, A> Deserialize<'de> for LogicPath<A>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<A: Eq + Hash + Eq + Clone> Eq for LogicPath<A>
impl<A: PartialEq + Hash + Eq + Clone> StructuralPartialEq for LogicPath<A>
Auto Trait Implementations§
impl<A> Freeze for LogicPath<A>where
LogicPathTarget<A>: Freeze,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Freeze,
Vec<(A, NodeId)>: Freeze,
impl<A> RefUnwindSafe for LogicPath<A>where
LogicPathTarget<A>: RefUnwindSafe,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: RefUnwindSafe,
Vec<(A, NodeId)>: RefUnwindSafe,
impl<A> Send for LogicPath<A>where
LogicPathTarget<A>: Send,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Send,
Vec<(A, NodeId)>: Send,
impl<A> Sync for LogicPath<A>where
LogicPathTarget<A>: Sync,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Sync,
Vec<(A, NodeId)>: Sync,
impl<A> Unpin for LogicPath<A>where
LogicPathTarget<A>: Unpin,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: Unpin,
Vec<(A, NodeId)>: Unpin,
impl<A> UnsafeUnpin for LogicPath<A>where
LogicPathTarget<A>: UnsafeUnpin,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: UnsafeUnpin,
Vec<(A, NodeId)>: UnsafeUnpin,
impl<A> UnwindSafe for LogicPath<A>where
LogicPathTarget<A>: UnwindSafe,
HashSet<VarAtomBase<A>, BuildHasherDefault<FxHasher>>: UnwindSafe,
Vec<(A, NodeId)>: UnwindSafe,
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