@@ -14,6 +14,7 @@ use core::{
14
14
NonZeroI128 , NonZeroI16 , NonZeroI32 , NonZeroI64 , NonZeroI8 , NonZeroIsize , NonZeroU128 ,
15
15
NonZeroU16 , NonZeroU32 , NonZeroU64 , NonZeroU8 , NonZeroUsize ,
16
16
} ,
17
+ ops:: { Range , RangeFrom , RangeInclusive , RangeTo , RangeToInclusive } ,
17
18
} ;
18
19
19
20
/// This trait is used to enforce the maximum size required to
@@ -201,6 +202,22 @@ impl<A: MaxSize, B: MaxSize, C: MaxSize, D: MaxSize, E: MaxSize, F: MaxSize> Max
201
202
+ F :: POSTCARD_MAX_SIZE ;
202
203
}
203
204
205
+ impl < T : MaxSize > MaxSize for Range < T > {
206
+ const POSTCARD_MAX_SIZE : usize = T :: POSTCARD_MAX_SIZE * 2 ;
207
+ }
208
+
209
+ impl < T : MaxSize > MaxSize for RangeInclusive < T > {
210
+ const POSTCARD_MAX_SIZE : usize = T :: POSTCARD_MAX_SIZE * 2 ;
211
+ }
212
+
213
+ impl < T : MaxSize > MaxSize for RangeFrom < T > {
214
+ const POSTCARD_MAX_SIZE : usize = T :: POSTCARD_MAX_SIZE ;
215
+ }
216
+
217
+ impl < T : MaxSize > MaxSize for RangeTo < T > {
218
+ const POSTCARD_MAX_SIZE : usize = T :: POSTCARD_MAX_SIZE ;
219
+ }
220
+
204
221
#[ cfg( feature = "alloc" ) ]
205
222
#[ cfg_attr( docsrs, doc( cfg( feature = "alloc" ) ) ) ]
206
223
impl < T : MaxSize > MaxSize for Box < T > {
0 commit comments