Skip to main content

gstring

Macro gstring 

Source
macro_rules! gstring {
    ($s:literal) => { ... };
    ($s:literal, $validator:ty) => { ... };
    ($s:literal, $validator:ty, $min:expr) => { ... };
    ($s:literal, $validator:ty, $min:expr, $max:expr) => { ... };
    ($s:literal, $validator:ty, $min:expr, $max:expr, $ascii_only:expr) => { ... };
}
Expand description

Compile-time check for GString without validation.

Validation can only happen at runtime, so this macro returned NotValidatedGString needed to be validated.

It’s only useful for checking bounds and ASCII statically at compile-time.

§Examples

use g_string::gstring;

let ret = gstring!("aslkdm");
let ret = ret.validate().unwrap();
assert_eq!(ret, "aslkdm");

// let ret = gstring!("aslkdm", (), 2, 4); // won't even compile