Project
tests
Describe the feature
Context: This property test is relevant following the changes introduced in #371 (already merged).
Positive property
For every (Type, Witness) pair where Witness structurally matches Type,
resolve(witness, type) returns Ok, and the resolved value's type equals
Type.
Oracle: assert!(result.is_ok()) and assert_eq!(result.unwrap().ty(), ty).
Input generator
Custom generator, not #[derive(Arbitrary)]. A uniformly random Witness
against a uniformly random Type almost never matches, so libFuzzer would
spend its budget on trivially rejected inputs. Instead: generate a random
Type.
Project
tests
Describe the feature
Positive property
For every
(Type, Witness)pair whereWitnessstructurally matchesType,resolve(witness, type)returnsOk, and the resolved value's type equalsType.Oracle:
assert!(result.is_ok())andassert_eq!(result.unwrap().ty(), ty).Input generator
Custom generator, not
#[derive(Arbitrary)]. A uniformly randomWitnessagainst a uniformly random
Typealmost never matches, solibFuzzerwouldspend its budget on trivially rejected inputs. Instead: generate a random
Type.