Type conversion is not special in Rust. It's just a function that takes ownership of the value and returns the other type. So you can name convert functions anything. However, it's a convention  to use as_ , to_ , and into_  prefixed name or to use from_  prefixed constructor.   From  You can create any function for type conversion. However, if you want to provide generic interfaces, you'd better implement the From  trait. For instance, you should implement From<X>  for Y  when you want the interface that converts the X  type value to the Y  type value.   The From  trait have an associated function  named from . You can call this function like From::from(x) . You also can call it like Y::from(x)  if the compiler cannot infer the type of the destination type.   Into  From  have an associated function, it makes you be able to specify the destination type. It's why From  has an associated function instead of a method, but on the other hands, you cannot use it as a me...