Sha256: 45d11d8cd0461716b276e2df4a5b31e7ae7ece36f05d42a0d4c055a5e4f02ab1
Contents?: true
Size: 834 Bytes
Versions: 3
Compression:
Stored size: 834 Bytes
Contents
//! A simple example of deriving the `Arbitrary` trait for an `enum`. //! //! Note that this requires enabling the "derive" cargo feature. // Various enums/fields that we are deriving `Arbitrary` for aren't actually // used except to show off the derive. #![allow(dead_code)] use arbitrary::{Arbitrary, Unstructured}; #[derive(Arbitrary, Debug)] enum MyEnum { Unit, Tuple(bool, u32), Struct { x: i8, y: (u8, i32), }, #[arbitrary(skip)] Skipped(usize), } fn main() { let raw = b"This is some raw, unstructured data!"; let mut unstructured = Unstructured::new(raw); let instance = MyEnum::arbitrary(&mut unstructured) .expect("`unstructured` has enough underlying data to create all variants of `MyEnum`"); println!("Here is an arbitrary enum: {:?}", instance); }
Version data entries
3 entries across 3 versions & 1 rubygems