std::convert

Module std::convert

Traits for conversions between types.

The traits in this module provide a general way to talk about conversions from one type to another. They follow the standard Rust conventions of as/into/from.

Like many traits, these are often used as bounds for generic functions, to support arguments of multiple types.

  • Implement the As* traits for reference-to-reference conversions
  • Implement the Into trait when you want to consume the value in the conversion
  • The From trait is the most flexible, useful for value and reference conversions
  • The TryFrom and TryInto traits behave like From and Into, but allow for the conversion to fail

As a library author, you should prefer implementing From<T> or TryFrom<T> rather than Into<U> or TryInto<U>, as From and TryFrom provide greater flexibility and offer equivalent Into or TryInto implementations for free, thanks to a blanket implementation in the standard library.

Generic Implementations

  • AsRef and AsMut auto-dereference if the inner type is a reference
  • From<U> for T implies Into<T> for U
  • TryFrom<U> for T implies TryInto<T> for U
  • From and Into are reflexive, which means that all types can into themselves and from themselves

See each trait for usage examples.

Traits

AsMut

A cheap, mutable reference-to-mutable reference conversion.

AsRef

A cheap reference-to-reference conversion. Used to convert a value to a reference value within generic code.

From

Simple and safe type conversions in to Self. It is the reciprocal of Into.

Into

A conversion that consumes self, which may or may not be expensive. The reciprocal of From.

TryFrom [
Experimental
]

Attempt to construct Self via a conversion.

TryInto [
Experimental
]

An attempted conversion that consumes self, which may or may not be expensive.

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/convert/index.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部