EG
fn foo(x: usize) -> usize {
if x == 0 { return 0 }
let _guard = Box::new(x);
return foo(x - 1);
}
Вот в этой странной функции нет хвостовой рекурсии, например.
Size: a a a
EG
fn foo(x: usize) -> usize {
if x == 0 { return 0 }
let _guard = Box::new(x);
return foo(x - 1);
}
r
TK
EG
become
, который запускает дропы сразу / требует, чтобы никаких дропов на этот момент уже не оставаласьEG
r
EG
box
сейчас вполне используется, просто в найтли.EG
macro
.EG
become
и abstract
реально просто зарезервированыEG
П
EG
Box::new()
TK
EG
box
в стейбле нетr
П
EG
TK
EG