ExpertiDict

Rust · Intermediário · Inglês · Técnico

From

/frʌm/substantivo

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

Veja também

Todos os termos de Rust