I have the wonderful type
pub struct CharTrie {
level1: &'static [u64; 32],
level2: &'static [u8; 992],
level3: (&'static [u8; 256], &'static [[u8; 64]]),
leaves: &'static [u64],
}
that I'd like to be able to generate and embed in a slightly more sane format than just generated Rust source code.
Ideally it'd be const-safe; if not, I'd be better off compressing it and decompressing at runtime. (Maximum size of this structure is 20KB, minimum about 2.5KB.)
If include_bytes!("..")
is include_ints!(u8, "..")
, I need include_ints!(u64, "..")
and include_ints!([u8; 64], "..")
.
The closest I can think of is something like transmute(Align8(include_bytes!("..")))
, but that has to consider endianness.