5 releases

0.0.5 May 2, 2023
0.0.4 Sep 20, 2022
0.0.3 Aug 31, 2022
0.0.2 Aug 29, 2022
0.0.1 Aug 29, 2022

#800 in Procedural macros

Download history 848/week @ 2024-01-03 1412/week @ 2024-01-10 1694/week @ 2024-01-17 933/week @ 2024-01-24 1563/week @ 2024-01-31 1286/week @ 2024-02-07 908/week @ 2024-02-14 1512/week @ 2024-02-21 1512/week @ 2024-02-28 950/week @ 2024-03-06 1314/week @ 2024-03-13 1701/week @ 2024-03-20 1608/week @ 2024-03-27 2337/week @ 2024-04-03 2526/week @ 2024-04-10 1378/week @ 2024-04-17

8,503 downloads per month
Used in 41 crates (2 directly)

Apache-2.0

20KB
293 lines

bytes-lit

Creates byte arrays from literal values.

Currently supports integer literals of unbounded size.

Example

Get a byte array given an integer value. Leading zeros in hex (0x) and binary (0b) integer form are preserved.

let bytes = bytes!(0x00ed3f55dec47250a52a8c0bb7038e72fa6ffaae33562f77cd2b629ef7fd424d);
assert_eq!(bytes, [
    0, 237, 63, 85, 222, 196, 114, 80, 165, 42, 140, 11, 183, 3, 142, 114,
    250, 111, 250, 174, 51, 86, 47, 119, 205, 43, 98, 158, 247, 253, 66, 77,
]);

Get the minimum sized byte array given an integer value to capture the value. Leading zeros are ignored.

let bytes = bytesmin!(0x00ed3f55dec47250a52a8c0bb7038e72fa6ffaae33562f77cd2b629ef7fd424d);
assert_eq!(bytes, [
    237, 63, 85, 222, 196, 114, 80, 165, 42, 140, 11, 183, 3, 142, 114,
    250, 111, 250, 174, 51, 86, 47, 119, 205, 43, 98, 158, 247, 253, 66, 77,
]);

lib.rs:

Bytes converts literals into an array of bytes.

Currently supports only integer literals of unbounded size.

Dependencies

~0.7–1.3MB
~29K SLoC