Rust · Intermediário · Inglês · Técnico
From
Trait que define como converter outro tipo neste tipo, com From::from. Ao implementar From você ganha Into de graça, e o operador ? usa From para converter erros.
Onde usar
Aparece em conversões entre tipos de erro e em construtores genéricos. Em review, implemente From, e não Into, no tipo de destino.
Em código
struct Celsius(f64);
struct Kelvin(f64);
impl From<Celsius> for Kelvin {
fn from(c: Celsius) -> Self {
Kelvin(c.0 + 273.15)
}
}
let k: Kelvin = Celsius(25.0).into();Exemplos
Implement From so the question mark converts the error.
Implemente From para o operador interrogação converter o erro.
We get Into for free from From.
Ganhamos Into de graça a partir do From.
Cuidado
From é para conversões que não falham; as que podem falhar usam TryFrom.
Sinônimos
Into