Skip to content

Commit 748e35d

Browse files
committed
feat(api)!: make Size subtrait of Num[Assign]
1 parent 240c713 commit 748e35d

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/size.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ use std::{
99
#[cfg(feature = "json")]
1010
use serde::{Deserialize, Serialize};
1111

12+
mod mul_traits {
13+
use std::ops::{Mul, MulAssign};
14+
pub trait MulAssignEx<Rhs>: Mul<Rhs, Output = Self> + MulAssign<Rhs> + Sized {}
15+
impl<Lhs: Mul<Rhs, Output = Lhs> + MulAssign<Rhs>, Rhs> MulAssignEx<Rhs> for Lhs {}
16+
}
17+
use mul_traits::MulAssignEx;
18+
1219
/// Types whose values can be used as disk usage statistic.
1320
pub trait Size:
1421
Debug
@@ -22,6 +29,10 @@ pub trait Size:
2229
+ Add<Output = Self>
2330
+ AddAssign
2431
+ Sum
32+
+ MulAssignEx<u8>
33+
+ MulAssignEx<u16>
34+
+ MulAssignEx<u32>
35+
+ MulAssignEx<u64>
2536
{
2637
/// Underlying type
2738
type Inner: From<Self> + Into<Self> + Mul<Self, Output = Self>;

0 commit comments

Comments
 (0)