Qual é a sobrecarga do tipo Option da Rust?
No Rust, referências nunca podem ser nulas, portanto, no caso em que você realmente precisa de null, como uma lista encadeada, você usaOption
tipo:
struct Element {
value: i32,
next: Option<Box<Element>>,
}
Quanta sobrecarga está envolvida nisso em termos de alocação de memória e etapas para desreferencia em comparação com um ponteiro simples? Existe alguma "mágica" no compilador / tempo de execução para fazerOption
custo-livre, ou menos dispendioso do que se um fosse implementarOption
por si mesmo em uma biblioteca não-núcleo usando o mesmoenum
construir, ou envolvendo o ponteiro em um vetor?