Box::new(value)
value сначала будет на стеке и потом переместится на кучу, так что тут опять упираемся в размер стека, хотя это обходится через unsafe и работу с аллокатором.let data = Arc::new(Data {
name: "txt".to_string(),
dtime: DateTime::parse_from_rfc3339("2023-07-10T10:20:30+03:00").unwrap().into(),
id: 188,
n: 5,
});
Стандарт JS, скорее всего не диктует жестко, каким патентованным методом сортировать элементы.
fn add<T: std::ops::Add<Output = T>>(a: T, b: T) -> T {
a + b
}
fn main() {
let result1 = add::<i32>(2, 3);
let result2 = add::<u32>(5, 7);
let result3 = add::<f32>(1.5, 2.5);
println!("Результаты: {}, {}, {}", result1, result2, result3);
}