pub enum WorldError {
ColumnLengths,
PositionOutOfRange {
lef: usize,
pos: Position,
n_sites: usize,
},
LegsCrossed {
lef: usize,
left: Position,
right: Position,
},
SiteOccupied {
lef: usize,
pos: Position,
},
CapturedOffCtcf {
lef: usize,
pos: Position,
},
CapturedWrongSide {
lef: usize,
pos: Position,
facing: Direction,
},
}Expand description
Why a LEF state isn’t valid in a world. lef is the LEF’s id (its row).
Variants§
ColumnLengths
The columns of a LefStates have different lengths.
PositionOutOfRange
LegsCrossed
The left leg must not be to the right of the right leg.
SiteOccupied
Another leg already sits there. A LEF’s own two legs may share a site (as right after it’s placed); two LEFs may not.
CapturedOffCtcf
A captured leg must sit on a CTCF…
CapturedWrongSide
…that captures from the side it arrived from. Legs only step forward, so they arrive from the side opposite their facing: a left-facing leg can only be captured by a CTCF that captures from the right, and a right-facing leg by one that captures from the left.
Trait Implementations§
Source§impl Clone for WorldError
impl Clone for WorldError
Source§impl Debug for WorldError
impl Debug for WorldError
Source§impl Display for WorldError
impl Display for WorldError
Source§impl Error for WorldError
impl Error for WorldError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for WorldError
impl PartialEq for WorldError
impl StructuralPartialEq for WorldError
Auto Trait Implementations§
impl Freeze for WorldError
impl RefUnwindSafe for WorldError
impl Send for WorldError
impl Sync for WorldError
impl Unpin for WorldError
impl UnsafeUnpin for WorldError
impl UnwindSafe for WorldError
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