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, скорее всего не диктует жестко, каким патентованным методом сортировать элементы.
u03.push(c.to_string().as_str());тут Вы сохраняете ссылку на временный объект строки. Строка дропнется прямо на этой же строке, а ссылка на нее останется, а следовательно будет не валидной. Rust запрещает творить такую дичь, и хорошо что запрещает, в плюсах такой код был бы UB.