это в какой вселенной нету преттиера
А чем "многопоточность в вебе" отличается от простой многопоточности?
void* data
и разбирают из него байты в нормальную структуру. #![deny(
missing_docs,
clippy::missing_safety_doc,
clippy::missing_panics_doc,
)]
в каждый крейт... По началу конечно пришлось тут же навесить allow на многие сущности, но это решили простой договоренностью - поправил что-то в функции/методе/типе без доки - напиши доку, иначе не апрувим МР. Спустя несколько месяцев покрытие документацией выше 80%. macro_rules! name {
($t:ty, $({$($el:expr),*}),*) => {
vec![$(
name!(@chunk {$($el),*}) as $t
),*]
};
(@chunk {}) => { 0 };
(@chunk {$($el:expr),+}) => {
std::mem::size_of_val(&[$(
name!(@byte $el)
),+])
};
(@byte $el:expr) => { 0u8 };
}
fn main() {
let v = name!(i32, {1, 2, 3, 4}, {1, 2}, {});
println!("{v:?}")
}
std::mem::size_of_val(&[0u8, 0, 0, 0])
генерируется movq $4, (%rsp)
без создания массива хотя по большей части наблюдаю, как берут какой-нибудь известный конфиг вроде airbnb и не парятся :)