pub struct VariableDetection;Expand description
Detects if a group is solely being used to update a register.
Implementations§
Source§impl VariableDetection
impl VariableDetection
Sourcepub fn variable_like(
group_ref: &RRC<Group>,
state_share: &ShareSet,
) -> Option<(CellType, Id)>
pub fn variable_like( group_ref: &RRC<Group>, state_share: &ShareSet, ) -> Option<(CellType, Id)>
A group is variable like if it:
- among write to state_shareable components, there is only one write
- has
@goport equal to1'd1 - has
g[done] = cell.done
Returns the name of the cell if such a group is detected,
otherwise returns None.
Auto Trait Implementations§
impl Freeze for VariableDetection
impl RefUnwindSafe for VariableDetection
impl Send for VariableDetection
impl Sync for VariableDetection
impl Unpin for VariableDetection
impl UnwindSafe for VariableDetection
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more