Skip to content

Commit 4a10b72

Browse files
authored
feat: remove derive feature from arbitrary support (#63)
* feat: remove derive feature from arbitrary support * test: expand allowed string lengths in prop test turns out 1018.0 PiB can be generated
1 parent 58146e4 commit 4a10b72

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

Cargo.lock

Lines changed: 0 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ arbitrary = ["dep:arbitrary"]
2020
serde = ["dep:serde"]
2121

2222
[dependencies]
23-
arbitrary = { version = "1", features = ["derive"], optional = true }
23+
arbitrary = { version = "1", optional = true }
2424
serde = { version = "1", optional = true }
2525

2626
[dev-dependencies]

src/arbitrary.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
use arbitrary::{Arbitrary, Unstructured};
2+
3+
use crate::ByteSize;
4+
5+
impl Arbitrary<'_> for ByteSize {
6+
fn arbitrary(u: &mut Unstructured<'_>) -> arbitrary::Result<Self> {
7+
Ok(ByteSize(u64::arbitrary(u)?))
8+
}
9+
10+
fn size_hint(depth: usize) -> (usize, Option<usize>) {
11+
u64::size_hint(depth)
12+
}
13+
}

src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
//! assert_eq!(ByteSize::gb(996), minus);
4141
//! ```
4242
43+
#[cfg(feature = "arbitrary")]
44+
mod arbitrary;
4345
mod parse;
4446
#[cfg(feature = "serde")]
4547
mod serde;
@@ -136,7 +138,6 @@ pub fn pib<V: Into<u64>>(size: V) -> u64 {
136138

137139
/// Byte size representation
138140
#[derive(Copy, Clone, PartialEq, PartialOrd, Eq, Ord, Hash, Default)]
139-
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
140141
pub struct ByteSize(pub u64);
141142

142143
impl ByteSize {
@@ -400,7 +401,7 @@ mod property_tests {
400401
}
401402

402403
fn to_string_never_large(size: ByteSize) -> bool {
403-
size.to_string().len() < 10
404+
size.to_string().len() < 11
404405
}
405406

406407
// // currently fails on input like "14.0 EiB"

0 commit comments

Comments
 (0)