pub trait ToBackend: Sealed { }
Expand description
Types that can be converted to a Backend
.
Some methods in this crate accept impl ToBackend
arguments. Any of the types below can be
passed as those arguments and the conversion will be performed automatically, though
depending on the type, the conversion can panic.
Source type | Can panic? | Non-panicking conversion |
---|---|---|
Backend or &Backend | No | N/A |
&str , String , or &String | Yes | Backend::from_name() |
Panics
This conversion trait differs from std::convert::Into
, which is guaranteed to succeed for any
argument, and std::convert::TryInto
which returns an explicit error when a conversion fails.
For types marked above as Can panic?, the conversion may panic at runtime if the data is
invalid. Automatic conversions for these types are provided for convenience for data you trust, like
a string literal in your code, or for applications where a default 500 Internal Server Error
response for a conversion failure is acceptable.
In most applications you should explicitly convert data from untrusted sources, such as the client request, to one of the types that cannot fail at runtime using a method like those listed under Non-panicking conversion. This allows your application to handle conversion errors without panicking, such as by falling back on a default value, removing invalid characters, or returning a branded error page.