8 releases (stable)
| 4.0.0 | Jul 6, 2025 |
|---|---|
| 3.3.0 | Jul 29, 2022 |
| 3.2.0 | Jun 30, 2022 |
| 3.1.0 | Jan 27, 2022 |
| 1.0.0 | Jun 8, 2019 |
#1326 in Rust patterns
409 downloads per month
26KB
473 lines
Helper
A library provided some useful proc macros for Rust.
Macros
-
control flow
- either: Ternary operator in many C-like languages.
-
collections
-
type conversion
- u8: Convert expression to
u8type. - u16: Convert expression to
u16type. - u32: Convert expression to
u32type. - u64: Convert expression to
u64type. - u128: Convert expression to
u128type. - usize: Convert expression to
usizetype. - i8: Convert expression to
i8type. - i16: Convert expression to
i16type. - i32: Convert expression to
i32type. - i64: Convert expression to
i64type. - i128: Convert expression to
i128type. - isize: Convert expression to
isizetype. - f32: Convert expression to
f32type. - f64: Convert expression to
f64type. - char: Convert expression to
chartype. - bool: Convert expression to
booltype.
- u8: Convert expression to
Examples
Type Conversion
use helper::*;
let x = 42i32;
let y = u8!(x); // Convert to u8
let z = f64!(x); // Convert to f64
// Support complex expressions
let result = u64!(x + 10 * 2);
// Support chained conversions
let chained = f64!(i64!(u32!(x)));
// Character conversion
let ascii_value = 65u8;
let character = char!(ascii_value); // 'A'
Collections
use helper::*;
// HashMap
let map = hmap! {
"key1": "value1",
"key2": "value2",
};
// HashSet
let set = hset! { 1, 2, 3 };
// BTreeMap
let btree_map = btmap! {
"a": 1,
"b": 2,
};
// BTreeSet
let btree_set = btset! { 1, 2, 3 };
License
MulanPSL-2.0
Dependencies
~44KB