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

#903 in Procedural macros

Download history 2716/week @ 2024-07-24 3312/week @ 2024-07-31 2157/week @ 2024-08-07 2022/week @ 2024-08-14 2532/week @ 2024-08-21 2991/week @ 2024-08-28 2406/week @ 2024-09-04 1868/week @ 2024-09-11 2125/week @ 2024-09-18 1968/week @ 2024-09-25 1811/week @ 2024-10-02 2249/week @ 2024-10-09 1300/week @ 2024-10-16 1534/week @ 2024-10-23 2039/week @ 2024-10-30 2647/week @ 2024-11-06

7,993 downloads per month
Used in 59 crates (3 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.6–1.2MB
~27K SLoC