pub struct CounterExample {
pub algorithm: ReferenceAlgorithm,
pub graph_edges: Vec<(String, String)>,
pub node_count: usize,
pub directed: bool,
pub witness_a: ComplexityWitness,
pub witness_b: ComplexityWitness,
pub discrepancy: String,
}Expand description
A counter-example candidate found during witness-hash mining.
When two executions of the same algorithm on the same graph produce different witness hashes, we have found a potential non-determinism bug.
Fields§
§algorithm: ReferenceAlgorithmThe algorithm that exhibited non-determinism.
graph_edges: Vec<(String, String)>The graph that triggered the issue (serialized as edge list).
node_count: usizeNumber of nodes in the graph.
directed: boolWhether the graph is directed.
witness_a: ComplexityWitnessWitness from the first run.
witness_b: ComplexityWitnessWitness from the second run.
discrepancy: StringDescription of the discrepancy.
Trait Implementations§
Source§impl Clone for CounterExample
impl Clone for CounterExample
Source§impl Debug for CounterExample
impl Debug for CounterExample
Source§impl<'de> Deserialize<'de> for CounterExample
impl<'de> Deserialize<'de> for CounterExample
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
Auto Trait Implementations§
impl Freeze for CounterExample
impl RefUnwindSafe for CounterExample
impl Send for CounterExample
impl Sync for CounterExample
impl Unpin for CounterExample
impl UnsafeUnpin for CounterExample
impl UnwindSafe for CounterExample
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