#memory #size #datatype #type


A data type for dealing with memory sizes

7 releases (4 breaking)

Uses new Rust 2021

0.5.0 Jan 2, 2022
0.4.1 Oct 10, 2021
0.3.0 Oct 8, 2021
0.2.0 Oct 5, 2021
0.1.1 Oct 4, 2021

#1279 in Rust patterns

MIT license

74 lines

MemorySize Type

Build MIT License API docs crates.io

This crate provides the MemorySize data type as a size unit. This might help errors during conversion between different units as well as comfort for printing the managed size as a human-readable value.


To use this library, you just have to add the following lines into your projects Cargo.toml:

version = "0.5.0"
default-features = false
features = ["std"]


The crate is seperated into several features to reduce its size (even with this small crate). You can use the following features to enable the stuff you really need in your project:

Feature Description
std Include features like implementations for std::fmt::Debug and std::fmt::Display
deprecated Include the deprecated features like the MemorySize type.


There are different use-cases for this library. The following examples represent just some possible usages.

Creating an instance from raw byte information

use memory_size_type::Byte;

let size_info_byte = Byte::from(1024);

Calculating with memory sizes

use memory_size_type::Byte;

let some_bytes = Byte::from(1024);
let some_more_bytes = Byte::from(1024);

assert_eq!(some_bytes + some_more_bytes, 2048);

No runtime deps


  • std