pub trait FromUriParam<P, T> where
P: Part, {
type Target: UriDisplay<P>;
fn from_uri_param(param: T) -> Self::Target;
}
Expand description
Conversion trait for parameters used in uri!
invocations.
Overview
In addition to implementing UriDisplay
, to use a custom type in a uri!
expression, the FromUriParam
trait must be implemented. The UriDisplay
derive automatically generates identity implementations of FromUriParam
,
so in the majority of cases, as with UriDisplay
, this trait is never
implemented manually.
In the rare case that UriDisplay
is implemented manually, this trait, too,
must be implemented explicitly. In the majority of cases, implementation can
be automated. Rocket provides [impl_from_uri_param_identity
] to generate
the identity implementations automatically. For a type T
, these are:
impl<P: Part> FromUriParam<P, T> for T
impl<'x, P: Part> FromUriParam<P, &'x T> for T
impl<'x, P: Part> FromUriParam<P, &'x mut T> for T
See impl_from_uri_param_identity!
for usage details.
Code Generation
This trait is invoked once per expression passed into a uri!
invocation.
In particular, for a route URI parameter of type T
and a user-supplied
expression e
of type S
, <T as FromUriParam<S>>::from_uri_param(e)
is
invoked. The returned value of type T::Target
is used in place of the
user’s value and rendered using its UriDisplay
implementation.
This trait allows types that differ from the route URI parameter’s types to
be used in their place at no cost. For instance, the following
implementation, provided by Rocket, allows an &str
to be used in a uri!
invocation for route URI parameters declared as String
:
impl<'a, P: Part> FromUriParam<P, &'a str> for String {
type Target = &'a str;
}
Because the FromUriParam::Target
type is the same as the input type, the
conversion is a no-op and free of cost, allowing an &str
to be used in
place of a String
without penalty.
Provided Implementations
The following types have identity implementations:
String
,i8
,i16
,i32
,i64
,i128
,isize
,u8
,u16
,u32
,u64
,u128
,usize
,f32
,f64
,bool
,IpAddr
,Ipv4Addr
,Ipv6Addr
,&str
,Cow<str>
The following types have identity implementations only in Path
:
&Path
,PathBuf
The following types have identity implementations only in Query
:
Option<T>
,Result<T, E>
The following conversions are implemented for both paths and queries, allowing a value of the type on the left to be used when a type on the right is expected by a route:
&str
toString
String
to&str
T
toForm<T>
The following conversions are implemented only in Path
:
&str
to&Path
&str
toPathBuf
PathBuf
to&Path
T
toOption<T>
T
toResult<T, E>
The following conversions are implemented only in Query
:
Option<T>
toResult<T, E>
(for anyE
)Result<T, E>
toOption<T>
(for anyE
)
See Foreign Impls for all provided implementations.
Implementing
This trait should only be implemented when you’d like to allow a type
different from the route’s declared type to be used in its place in a uri!
invocation. For instance, if the route has a type of T
and you’d like to
use a type of S
in a uri!
invocation, you’d implement FromUriParam<P, T> for S
where P
is Path
for conversions valid in the path part of a
URI, Uri
for conversions valid in the query part of a URI, or P: Part
when a conversion is valid in either case.
This is typically only warranted for owned-value types with corresponding
reference types: String
and &str
, for instance. In this case, it’s
desirable to allow an &str
to be used in place of a String
.
When implementing FromUriParam
, be aware that Rocket will use the
UriDisplay
implementation of FromUriParam::Target
, not of the
source type. Incorrect implementations can result in creating unsafe URIs.
Example
The following example implements FromUriParam<Query, (&str, &str)>
for a
User
type. The implementation allows an (&str, &str)
type to be used in
a uri!
invocation where a User
type is expected in the query part of the
URI.
use std::fmt;
use rocket::http::uri::fmt::{Formatter, UriDisplay, FromUriParam, Query};
#[derive(FromForm)]
struct User<'a> {
name: &'a str,
nickname: String,
}
impl UriDisplay<Query> for User<'_> {
fn fmt(&self, f: &mut Formatter<Query>) -> fmt::Result {
f.write_named_value("name", &self.name)?;
f.write_named_value("nickname", &self.nickname)
}
}
impl<'a, 'b> FromUriParam<Query, (&'a str, &'b str)> for User<'a> {
type Target = User<'a>;
fn from_uri_param((name, nickname): (&'a str, &'b str)) -> User<'a> {
User { name: name.into(), nickname: nickname.to_string() }
}
}
With these implementations, the following typechecks:
#[post("/<name>?<user..>")]
fn some_route(name: &str, user: User<'_>) { /* .. */ }
let uri = uri!(some_route(name = "hey", user = ("Robert Mike", "Bob")));
assert_eq!(uri.path(), "/hey");
assert_eq!(uri.query().unwrap(), "name=Robert%20Mike&nickname=Bob");
Required Associated Types
type Target: UriDisplay<P>
type Target: UriDisplay<P>
The resulting type of this conversion.
Required Methods
fn from_uri_param(param: T) -> Self::Target
fn from_uri_param(param: T) -> Self::Target
Converts a value of type T
into a value of type Self::Target
. The
resulting value of type Self::Target
will be rendered into a URI using
its UriDisplay
implementation.
Implementations on Foreign Types
impl<'x, P> FromUriParam<P, &'x NonZeroU16> for NonZeroU16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroU16> for NonZeroU16 where
P: Part,
type Target = &'x NonZeroU16
fn from_uri_param(param: &'x NonZeroU16) -> &'x NonZeroU16
impl<'x, P> FromUriParam<P, &'x mut NonZeroU128> for NonZeroU128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroU128> for NonZeroU128 where
P: Part,
type Target = &'x mut NonZeroU128
fn from_uri_param(param: &'x mut NonZeroU128) -> &'x mut NonZeroU128
impl<'x, P> FromUriParam<P, &'x Time> for Time where
P: Part,
impl<'x, P> FromUriParam<P, &'x Time> for Time where
P: Part,
type Target = &'x Time
fn from_uri_param(param: &'x Time) -> &'x Time
impl<'x, 'a> FromUriParam<Path, &'x &'a Path> for &'a Path
impl<'x, 'a> FromUriParam<Path, &'x &'a Path> for &'a Path
type Target = &'x &'a Path
fn from_uri_param(param: &'x &'a Path) -> &'x &'a Path
impl<P> FromUriParam<P, isize> for isize where
P: Part,
impl<P> FromUriParam<P, isize> for isize where
P: Part,
type Target = isize
fn from_uri_param(param: isize) -> isize
impl<P> FromUriParam<P, Date> for Date where
P: Part,
impl<P> FromUriParam<P, Date> for Date where
P: Part,
type Target = Date
fn from_uri_param(param: Date) -> Date
impl<P> FromUriParam<P, NonZeroU32> for NonZeroU32 where
P: Part,
impl<P> FromUriParam<P, NonZeroU32> for NonZeroU32 where
P: Part,
type Target = NonZeroU32
fn from_uri_param(param: NonZeroU32) -> NonZeroU32
impl<P> FromUriParam<P, SocketAddrV4> for SocketAddrV4 where
P: Part,
impl<P> FromUriParam<P, SocketAddrV4> for SocketAddrV4 where
P: Part,
type Target = SocketAddrV4
fn from_uri_param(param: SocketAddrV4) -> SocketAddrV4
impl<'x, P> FromUriParam<P, &'x i128> for i128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x i128> for i128 where
P: Part,
type Target = &'x i128
fn from_uri_param(param: &'x i128) -> &'x i128
impl<'x, P> FromUriParam<P, &'x u64> for u64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x u64> for u64 where
P: Part,
type Target = &'x u64
fn from_uri_param(param: &'x u64) -> &'x u64
impl<'x, P> FromUriParam<P, &'x NonZeroI32> for NonZeroI32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroI32> for NonZeroI32 where
P: Part,
type Target = &'x NonZeroI32
fn from_uri_param(param: &'x NonZeroI32) -> &'x NonZeroI32
impl<'x, P> FromUriParam<P, &'x mut isize> for isize where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut isize> for isize where
P: Part,
type Target = &'x mut isize
fn from_uri_param(param: &'x mut isize) -> &'x mut isize
impl<'x, P> FromUriParam<P, &'x mut i16> for i16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut i16> for i16 where
P: Part,
type Target = &'x mut i16
fn from_uri_param(param: &'x mut i16) -> &'x mut i16
impl<'a, 'b> FromUriParam<Path, &'a &'b str> for PathBuf
impl<'a, 'b> FromUriParam<Path, &'a &'b str> for PathBuf
A no cost conversion allowing an &&str
to be used in place of a PathBuf
.
type Target = &'b Path
fn from_uri_param(param: &'a &'b str) -> &'b Path
impl<'x, P> FromUriParam<P, &'x NonZeroI64> for NonZeroI64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroI64> for NonZeroI64 where
P: Part,
type Target = &'x NonZeroI64
fn from_uri_param(param: &'x NonZeroI64) -> &'x NonZeroI64
impl<'x, P> FromUriParam<P, &'x mut NonZeroU16> for NonZeroU16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroU16> for NonZeroU16 where
P: Part,
type Target = &'x mut NonZeroU16
fn from_uri_param(param: &'x mut NonZeroU16) -> &'x mut NonZeroU16
impl<'x, P> FromUriParam<P, &'x NonZeroU8> for NonZeroU8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroU8> for NonZeroU8 where
P: Part,
type Target = &'x NonZeroU8
fn from_uri_param(param: &'x NonZeroU8) -> &'x NonZeroU8
impl<P> FromUriParam<P, PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
impl<P> FromUriParam<P, PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
type Target = PrimitiveDateTime
fn from_uri_param(param: PrimitiveDateTime) -> PrimitiveDateTime
impl<'x, P> FromUriParam<P, &'x mut NonZeroU64> for NonZeroU64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroU64> for NonZeroU64 where
P: Part,
type Target = &'x mut NonZeroU64
fn from_uri_param(param: &'x mut NonZeroU64) -> &'x mut NonZeroU64
impl<'x, P> FromUriParam<P, &'x mut i128> for i128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut i128> for i128 where
P: Part,
type Target = &'x mut i128
fn from_uri_param(param: &'x mut i128) -> &'x mut i128
impl<P> FromUriParam<P, SocketAddrV6> for SocketAddrV6 where
P: Part,
impl<P> FromUriParam<P, SocketAddrV6> for SocketAddrV6 where
P: Part,
type Target = SocketAddrV6
fn from_uri_param(param: SocketAddrV6) -> SocketAddrV6
impl<P> FromUriParam<P, u32> for u32 where
P: Part,
impl<P> FromUriParam<P, u32> for u32 where
P: Part,
type Target = u32
fn from_uri_param(param: u32) -> u32
impl<'a> FromUriParam<Path, &'a Path> for PathBuf
impl<'a> FromUriParam<Path, &'a Path> for PathBuf
type Target = &'a Path
fn from_uri_param(param: &'a Path) -> &'a Path
impl<P> FromUriParam<P, NonZeroI16> for NonZeroI16 where
P: Part,
impl<P> FromUriParam<P, NonZeroI16> for NonZeroI16 where
P: Part,
type Target = NonZeroI16
fn from_uri_param(param: NonZeroI16) -> NonZeroI16
impl<'x, P> FromUriParam<P, &'x NonZeroU32> for NonZeroU32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroU32> for NonZeroU32 where
P: Part,
type Target = &'x NonZeroU32
fn from_uri_param(param: &'x NonZeroU32) -> &'x NonZeroU32
impl<P> FromUriParam<P, i8> for i8 where
P: Part,
impl<P> FromUriParam<P, i8> for i8 where
P: Part,
type Target = i8
fn from_uri_param(param: i8) -> i8
impl<'x, 'a, P> FromUriParam<P, &'x mut String> for &'a str where
P: Part,
impl<'x, 'a, P> FromUriParam<P, &'x mut String> for &'a str where
P: Part,
type Target = &'x mut String
fn from_uri_param(param: &'x mut String) -> &'x mut String
impl<'x, P> FromUriParam<P, &'x mut Ipv6Addr> for Ipv6Addr where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut Ipv6Addr> for Ipv6Addr where
P: Part,
type Target = &'x mut Ipv6Addr
fn from_uri_param(param: &'x mut Ipv6Addr) -> &'x mut Ipv6Addr
impl<P> FromUriParam<P, NonZeroI8> for NonZeroI8 where
P: Part,
impl<P> FromUriParam<P, NonZeroI8> for NonZeroI8 where
P: Part,
type Target = NonZeroI8
fn from_uri_param(param: NonZeroI8) -> NonZeroI8
impl<'x, P> FromUriParam<P, &'x SocketAddrV6> for SocketAddrV6 where
P: Part,
impl<'x, P> FromUriParam<P, &'x SocketAddrV6> for SocketAddrV6 where
P: Part,
type Target = &'x SocketAddrV6
fn from_uri_param(param: &'x SocketAddrV6) -> &'x SocketAddrV6
impl<'x, P> FromUriParam<P, &'x f32> for f32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x f32> for f32 where
P: Part,
type Target = &'x f32
fn from_uri_param(param: &'x f32) -> &'x f32
impl<'a, P> FromUriParam<P, &'a str> for &'a str where
P: Part,
impl<'a, P> FromUriParam<P, &'a str> for &'a str where
P: Part,
type Target = &'a str
fn from_uri_param(param: &'a str) -> &'a str
impl<P> FromUriParam<P, NonZeroI32> for NonZeroI32 where
P: Part,
impl<P> FromUriParam<P, NonZeroI32> for NonZeroI32 where
P: Part,
type Target = NonZeroI32
fn from_uri_param(param: NonZeroI32) -> NonZeroI32
impl<'x, P> FromUriParam<P, &'x mut NonZeroI128> for NonZeroI128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroI128> for NonZeroI128 where
P: Part,
type Target = &'x mut NonZeroI128
fn from_uri_param(param: &'x mut NonZeroI128) -> &'x mut NonZeroI128
impl<'x, 'a, P> FromUriParam<P, &'x String> for &'a str where
P: Part,
impl<'x, 'a, P> FromUriParam<P, &'x String> for &'a str where
P: Part,
type Target = &'x String
fn from_uri_param(param: &'x String) -> &'x String
impl<P> FromUriParam<P, SocketAddr> for SocketAddr where
P: Part,
impl<P> FromUriParam<P, SocketAddr> for SocketAddr where
P: Part,
type Target = SocketAddr
fn from_uri_param(param: SocketAddr) -> SocketAddr
impl<P> FromUriParam<P, i128> for i128 where
P: Part,
impl<P> FromUriParam<P, i128> for i128 where
P: Part,
type Target = i128
fn from_uri_param(param: i128) -> i128
impl<P> FromUriParam<P, u64> for u64 where
P: Part,
impl<P> FromUriParam<P, u64> for u64 where
P: Part,
type Target = u64
fn from_uri_param(param: u64) -> u64
impl<'x, P> FromUriParam<P, &'x i32> for i32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x i32> for i32 where
P: Part,
type Target = &'x i32
fn from_uri_param(param: &'x i32) -> &'x i32
impl<P> FromUriParam<P, Ipv6Addr> for Ipv6Addr where
P: Part,
impl<P> FromUriParam<P, Ipv6Addr> for Ipv6Addr where
P: Part,
type Target = Ipv6Addr
fn from_uri_param(param: Ipv6Addr) -> Ipv6Addr
impl<P> FromUriParam<P, bool> for bool where
P: Part,
impl<P> FromUriParam<P, bool> for bool where
P: Part,
type Target = bool
fn from_uri_param(param: bool) -> bool
impl<P> FromUriParam<P, NonZeroI64> for NonZeroI64 where
P: Part,
impl<P> FromUriParam<P, NonZeroI64> for NonZeroI64 where
P: Part,
type Target = NonZeroI64
fn from_uri_param(param: NonZeroI64) -> NonZeroI64
impl<'x, P> FromUriParam<P, &'x PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
impl<'x, P> FromUriParam<P, &'x PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
type Target = &'x PrimitiveDateTime
fn from_uri_param(param: &'x PrimitiveDateTime) -> &'x PrimitiveDateTime
impl<P> FromUriParam<P, u16> for u16 where
P: Part,
impl<P> FromUriParam<P, u16> for u16 where
P: Part,
type Target = u16
fn from_uri_param(param: u16) -> u16
impl<'x, P> FromUriParam<P, &'x i16> for i16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x i16> for i16 where
P: Part,
type Target = &'x i16
fn from_uri_param(param: &'x i16) -> &'x i16
impl<'x, P> FromUriParam<P, &'x mut u16> for u16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut u16> for u16 where
P: Part,
type Target = &'x mut u16
fn from_uri_param(param: &'x mut u16) -> &'x mut u16
impl<'x, P> FromUriParam<P, &'x mut NonZeroI16> for NonZeroI16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroI16> for NonZeroI16 where
P: Part,
type Target = &'x mut NonZeroI16
fn from_uri_param(param: &'x mut NonZeroI16) -> &'x mut NonZeroI16
impl<'x, 'a> FromUriParam<Path, &'x PathBuf> for &'a Path
impl<'x, 'a> FromUriParam<Path, &'x PathBuf> for &'a Path
type Target = &'x PathBuf
fn from_uri_param(param: &'x PathBuf) -> &'x PathBuf
impl<'x, P> FromUriParam<P, &'x NonZeroIsize> for NonZeroIsize where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroIsize> for NonZeroIsize where
P: Part,
type Target = &'x NonZeroIsize
fn from_uri_param(param: &'x NonZeroIsize) -> &'x NonZeroIsize
impl<'x, P> FromUriParam<P, &'x i64> for i64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x i64> for i64 where
P: Part,
type Target = &'x i64
fn from_uri_param(param: &'x i64) -> &'x i64
impl<'x, P> FromUriParam<P, &'x NonZeroU64> for NonZeroU64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroU64> for NonZeroU64 where
P: Part,
type Target = &'x NonZeroU64
fn from_uri_param(param: &'x NonZeroU64) -> &'x NonZeroU64
impl<P> FromUriParam<P, Time> for Time where
P: Part,
impl<P> FromUriParam<P, Time> for Time where
P: Part,
type Target = Time
fn from_uri_param(param: Time) -> Time
impl<'x, P> FromUriParam<P, &'x mut NonZeroU8> for NonZeroU8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroU8> for NonZeroU8 where
P: Part,
type Target = &'x mut NonZeroU8
fn from_uri_param(param: &'x mut NonZeroU8) -> &'x mut NonZeroU8
impl<'x, P> FromUriParam<P, &'x NonZeroI128> for NonZeroI128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroI128> for NonZeroI128 where
P: Part,
type Target = &'x NonZeroI128
fn from_uri_param(param: &'x NonZeroI128) -> &'x NonZeroI128
impl<'x, P> FromUriParam<P, &'x mut Ipv4Addr> for Ipv4Addr where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut Ipv4Addr> for Ipv4Addr where
P: Part,
type Target = &'x mut Ipv4Addr
fn from_uri_param(param: &'x mut Ipv4Addr) -> &'x mut Ipv4Addr
impl<'x, P> FromUriParam<P, &'x u16> for u16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x u16> for u16 where
P: Part,
type Target = &'x u16
fn from_uri_param(param: &'x u16) -> &'x u16
impl<'x, P> FromUriParam<P, &'x Ipv4Addr> for Ipv4Addr where
P: Part,
impl<'x, P> FromUriParam<P, &'x Ipv4Addr> for Ipv4Addr where
P: Part,
type Target = &'x Ipv4Addr
fn from_uri_param(param: &'x Ipv4Addr) -> &'x Ipv4Addr
impl<'x, 'a> FromUriParam<Path, &'x &'a Path> for PathBuf
impl<'x, 'a> FromUriParam<Path, &'x &'a Path> for PathBuf
type Target = &'x &'a Path
fn from_uri_param(param: &'x &'a Path) -> &'x &'a Path
impl<'x> FromUriParam<Path, &'x PathBuf> for PathBuf
impl<'x> FromUriParam<Path, &'x PathBuf> for PathBuf
type Target = &'x PathBuf
fn from_uri_param(param: &'x PathBuf) -> &'x PathBuf
impl<P> FromUriParam<P, i32> for i32 where
P: Part,
impl<P> FromUriParam<P, i32> for i32 where
P: Part,
type Target = i32
fn from_uri_param(param: i32) -> i32
impl<'x, P> FromUriParam<P, &'x mut f64> for f64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut f64> for f64 where
P: Part,
type Target = &'x mut f64
fn from_uri_param(param: &'x mut f64) -> &'x mut f64
impl<'x, P> FromUriParam<P, &'x mut u32> for u32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut u32> for u32 where
P: Part,
type Target = &'x mut u32
fn from_uri_param(param: &'x mut u32) -> &'x mut u32
impl<'x, P> FromUriParam<P, &'x u32> for u32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x u32> for u32 where
P: Part,
type Target = &'x u32
fn from_uri_param(param: &'x u32) -> &'x u32
impl<'x, P> FromUriParam<P, &'x mut NonZeroI8> for NonZeroI8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroI8> for NonZeroI8 where
P: Part,
type Target = &'x mut NonZeroI8
fn from_uri_param(param: &'x mut NonZeroI8) -> &'x mut NonZeroI8
impl<P> FromUriParam<P, f64> for f64 where
P: Part,
impl<P> FromUriParam<P, f64> for f64 where
P: Part,
type Target = f64
fn from_uri_param(param: f64) -> f64
impl<'x, P> FromUriParam<P, &'x Ipv6Addr> for Ipv6Addr where
P: Part,
impl<'x, P> FromUriParam<P, &'x Ipv6Addr> for Ipv6Addr where
P: Part,
type Target = &'x Ipv6Addr
fn from_uri_param(param: &'x Ipv6Addr) -> &'x Ipv6Addr
impl<'x, P> FromUriParam<P, &'x mut SocketAddrV6> for SocketAddrV6 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut SocketAddrV6> for SocketAddrV6 where
P: Part,
type Target = &'x mut SocketAddrV6
fn from_uri_param(param: &'x mut SocketAddrV6) -> &'x mut SocketAddrV6
impl<'x, P> FromUriParam<P, &'x IpAddr> for IpAddr where
P: Part,
impl<'x, P> FromUriParam<P, &'x IpAddr> for IpAddr where
P: Part,
type Target = &'x IpAddr
fn from_uri_param(param: &'x IpAddr) -> &'x IpAddr
impl<'x, P> FromUriParam<P, &'x bool> for bool where
P: Part,
impl<'x, P> FromUriParam<P, &'x bool> for bool where
P: Part,
type Target = &'x bool
fn from_uri_param(param: &'x bool) -> &'x bool
impl<'x, P> FromUriParam<P, &'x mut u8> for u8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut u8> for u8 where
P: Part,
type Target = &'x mut u8
fn from_uri_param(param: &'x mut u8) -> &'x mut u8
impl<P> FromUriParam<P, NonZeroUsize> for NonZeroUsize where
P: Part,
impl<P> FromUriParam<P, NonZeroUsize> for NonZeroUsize where
P: Part,
type Target = NonZeroUsize
fn from_uri_param(param: NonZeroUsize) -> NonZeroUsize
impl<P> FromUriParam<P, usize> for usize where
P: Part,
impl<P> FromUriParam<P, usize> for usize where
P: Part,
type Target = usize
fn from_uri_param(param: usize) -> usize
impl<'x, 'a> FromUriParam<Path, &'x mut &'a Path> for &'a Path
impl<'x, 'a> FromUriParam<Path, &'x mut &'a Path> for &'a Path
type Target = &'x mut &'a Path
fn from_uri_param(param: &'x mut &'a Path) -> &'x mut &'a Path
impl<P> FromUriParam<P, NonZeroU128> for NonZeroU128 where
P: Part,
impl<P> FromUriParam<P, NonZeroU128> for NonZeroU128 where
P: Part,
type Target = NonZeroU128
fn from_uri_param(param: NonZeroU128) -> NonZeroU128
impl<'x, P> FromUriParam<P, &'x f64> for f64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x f64> for f64 where
P: Part,
type Target = &'x f64
fn from_uri_param(param: &'x f64) -> &'x f64
impl<'x, 'a, P> FromUriParam<P, &'x &'a str> for &'a str where
P: Part,
impl<'x, 'a, P> FromUriParam<P, &'x &'a str> for &'a str where
P: Part,
type Target = &'x &'a str
fn from_uri_param(param: &'x &'a str) -> &'x &'a str
impl FromUriParam<Path, PathBuf> for PathBuf
impl FromUriParam<Path, PathBuf> for PathBuf
type Target = PathBuf
fn from_uri_param(param: PathBuf) -> PathBuf
impl<P> FromUriParam<P, u128> for u128 where
P: Part,
impl<P> FromUriParam<P, u128> for u128 where
P: Part,
type Target = u128
fn from_uri_param(param: u128) -> u128
impl<'x, 'a, P> FromUriParam<P, &'x mut &'a str> for &'a str where
P: Part,
impl<'x, 'a, P> FromUriParam<P, &'x mut &'a str> for &'a str where
P: Part,
type Target = &'x mut &'a str
fn from_uri_param(param: &'x mut &'a str) -> &'x mut &'a str
impl<'x, P> FromUriParam<P, &'x mut usize> for usize where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut usize> for usize where
P: Part,
type Target = &'x mut usize
fn from_uri_param(param: &'x mut usize) -> &'x mut usize
impl<'x, P> FromUriParam<P, &'x NonZeroU128> for NonZeroU128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroU128> for NonZeroU128 where
P: Part,
type Target = &'x NonZeroU128
fn from_uri_param(param: &'x NonZeroU128) -> &'x NonZeroU128
impl<'x, P> FromUriParam<P, &'x Date> for Date where
P: Part,
impl<'x, P> FromUriParam<P, &'x Date> for Date where
P: Part,
type Target = &'x Date
fn from_uri_param(param: &'x Date) -> &'x Date
impl<P> FromUriParam<P, NonZeroU8> for NonZeroU8 where
P: Part,
impl<P> FromUriParam<P, NonZeroU8> for NonZeroU8 where
P: Part,
type Target = NonZeroU8
fn from_uri_param(param: NonZeroU8) -> NonZeroU8
impl<'a> FromUriParam<Path, &'a Path> for &'a Path
impl<'a> FromUriParam<Path, &'a Path> for &'a Path
type Target = &'a Path
fn from_uri_param(param: &'a Path) -> &'a Path
impl<P> FromUriParam<P, u8> for u8 where
P: Part,
impl<P> FromUriParam<P, u8> for u8 where
P: Part,
type Target = u8
fn from_uri_param(param: u8) -> u8
impl<'a, P> FromUriParam<P, String> for &'a str where
P: Part,
impl<'a, P> FromUriParam<P, String> for &'a str where
P: Part,
type Target = String
fn from_uri_param(param: String) -> String
impl<'x, P> FromUriParam<P, &'x SocketAddr> for SocketAddr where
P: Part,
impl<'x, P> FromUriParam<P, &'x SocketAddr> for SocketAddr where
P: Part,
type Target = &'x SocketAddr
fn from_uri_param(param: &'x SocketAddr) -> &'x SocketAddr
impl<P> FromUriParam<P, i64> for i64 where
P: Part,
impl<P> FromUriParam<P, i64> for i64 where
P: Part,
type Target = i64
fn from_uri_param(param: i64) -> i64
impl<'x, P> FromUriParam<P, &'x mut NonZeroI64> for NonZeroI64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroI64> for NonZeroI64 where
P: Part,
type Target = &'x mut NonZeroI64
fn from_uri_param(param: &'x mut NonZeroI64) -> &'x mut NonZeroI64
impl<'x, P> FromUriParam<P, &'x NonZeroI16> for NonZeroI16 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroI16> for NonZeroI16 where
P: Part,
type Target = &'x NonZeroI16
fn from_uri_param(param: &'x NonZeroI16) -> &'x NonZeroI16
impl<P> FromUriParam<P, NonZeroIsize> for NonZeroIsize where
P: Part,
impl<P> FromUriParam<P, NonZeroIsize> for NonZeroIsize where
P: Part,
type Target = NonZeroIsize
fn from_uri_param(param: NonZeroIsize) -> NonZeroIsize
impl<'x, P> FromUriParam<P, &'x mut i32> for i32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut i32> for i32 where
P: Part,
type Target = &'x mut i32
fn from_uri_param(param: &'x mut i32) -> &'x mut i32
impl<'x, P> FromUriParam<P, &'x mut i64> for i64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut i64> for i64 where
P: Part,
type Target = &'x mut i64
fn from_uri_param(param: &'x mut i64) -> &'x mut i64
impl<P> FromUriParam<P, NonZeroU16> for NonZeroU16 where
P: Part,
impl<P> FromUriParam<P, NonZeroU16> for NonZeroU16 where
P: Part,
type Target = NonZeroU16
fn from_uri_param(param: NonZeroU16) -> NonZeroU16
impl<'x, P> FromUriParam<P, &'x usize> for usize where
P: Part,
impl<'x, P> FromUriParam<P, &'x usize> for usize where
P: Part,
type Target = &'x usize
fn from_uri_param(param: &'x usize) -> &'x usize
impl<'x, P> FromUriParam<P, &'x mut u64> for u64 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut u64> for u64 where
P: Part,
type Target = &'x mut u64
fn from_uri_param(param: &'x mut u64) -> &'x mut u64
impl<'x, P> FromUriParam<P, &'x NonZeroUsize> for NonZeroUsize where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroUsize> for NonZeroUsize where
P: Part,
type Target = &'x NonZeroUsize
fn from_uri_param(param: &'x NonZeroUsize) -> &'x NonZeroUsize
impl<'a> FromUriParam<Path, &'a str> for PathBuf
impl<'a> FromUriParam<Path, &'a str> for PathBuf
A no cost conversion allowing an &str
to be used in place of a PathBuf
.
type Target = &'a Path
fn from_uri_param(param: &'a str) -> &'a Path
impl<'x, P> FromUriParam<P, &'x mut PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut PrimitiveDateTime> for PrimitiveDateTime where
P: Part,
type Target = &'x mut PrimitiveDateTime
fn from_uri_param(param: &'x mut PrimitiveDateTime) -> &'x mut PrimitiveDateTime
impl<'x, P> FromUriParam<P, &'x u128> for u128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x u128> for u128 where
P: Part,
type Target = &'x u128
fn from_uri_param(param: &'x u128) -> &'x u128
impl<'x, P> FromUriParam<P, &'x isize> for isize where
P: Part,
impl<'x, P> FromUriParam<P, &'x isize> for isize where
P: Part,
type Target = &'x isize
fn from_uri_param(param: &'x isize) -> &'x isize
impl<'x, P> FromUriParam<P, &'x mut i8> for i8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut i8> for i8 where
P: Part,
type Target = &'x mut i8
fn from_uri_param(param: &'x mut i8) -> &'x mut i8
impl<P> FromUriParam<P, Ipv4Addr> for Ipv4Addr where
P: Part,
impl<P> FromUriParam<P, Ipv4Addr> for Ipv4Addr where
P: Part,
type Target = Ipv4Addr
fn from_uri_param(param: Ipv4Addr) -> Ipv4Addr
impl<'x, P> FromUriParam<P, &'x mut Date> for Date where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut Date> for Date where
P: Part,
type Target = &'x mut Date
fn from_uri_param(param: &'x mut Date) -> &'x mut Date
impl<'x, P> FromUriParam<P, &'x i8> for i8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x i8> for i8 where
P: Part,
type Target = &'x i8
fn from_uri_param(param: &'x i8) -> &'x i8
impl<'x, P> FromUriParam<P, &'x mut NonZeroUsize> for NonZeroUsize where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroUsize> for NonZeroUsize where
P: Part,
type Target = &'x mut NonZeroUsize
fn from_uri_param(param: &'x mut NonZeroUsize) -> &'x mut NonZeroUsize
impl<'a> FromUriParam<Path, PathBuf> for &'a Path
impl<'a> FromUriParam<Path, PathBuf> for &'a Path
type Target = PathBuf
fn from_uri_param(param: PathBuf) -> PathBuf
impl<'x, 'a> FromUriParam<Path, &'x mut PathBuf> for &'a Path
impl<'x, 'a> FromUriParam<Path, &'x mut PathBuf> for &'a Path
type Target = &'x mut PathBuf
fn from_uri_param(param: &'x mut PathBuf) -> &'x mut PathBuf
impl<'x, P> FromUriParam<P, &'x SocketAddrV4> for SocketAddrV4 where
P: Part,
impl<'x, P> FromUriParam<P, &'x SocketAddrV4> for SocketAddrV4 where
P: Part,
type Target = &'x SocketAddrV4
fn from_uri_param(param: &'x SocketAddrV4) -> &'x SocketAddrV4
impl<'x, P> FromUriParam<P, &'x mut SocketAddrV4> for SocketAddrV4 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut SocketAddrV4> for SocketAddrV4 where
P: Part,
type Target = &'x mut SocketAddrV4
fn from_uri_param(param: &'x mut SocketAddrV4) -> &'x mut SocketAddrV4
impl<'x, P> FromUriParam<P, &'x mut NonZeroIsize> for NonZeroIsize where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroIsize> for NonZeroIsize where
P: Part,
type Target = &'x mut NonZeroIsize
fn from_uri_param(param: &'x mut NonZeroIsize) -> &'x mut NonZeroIsize
impl<'x, P> FromUriParam<P, &'x mut u128> for u128 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut u128> for u128 where
P: Part,
type Target = &'x mut u128
fn from_uri_param(param: &'x mut u128) -> &'x mut u128
impl<P> FromUriParam<P, i16> for i16 where
P: Part,
impl<P> FromUriParam<P, i16> for i16 where
P: Part,
type Target = i16
fn from_uri_param(param: i16) -> i16
impl<'x, 'a> FromUriParam<Path, &'x mut &'a Path> for PathBuf
impl<'x, 'a> FromUriParam<Path, &'x mut &'a Path> for PathBuf
type Target = &'x mut &'a Path
fn from_uri_param(param: &'x mut &'a Path) -> &'x mut &'a Path
impl<'x, P> FromUriParam<P, &'x mut NonZeroU32> for NonZeroU32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroU32> for NonZeroU32 where
P: Part,
type Target = &'x mut NonZeroU32
fn from_uri_param(param: &'x mut NonZeroU32) -> &'x mut NonZeroU32
impl<'x, P> FromUriParam<P, &'x mut bool> for bool where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut bool> for bool where
P: Part,
type Target = &'x mut bool
fn from_uri_param(param: &'x mut bool) -> &'x mut bool
impl<P> FromUriParam<P, NonZeroI128> for NonZeroI128 where
P: Part,
impl<P> FromUriParam<P, NonZeroI128> for NonZeroI128 where
P: Part,
type Target = NonZeroI128
fn from_uri_param(param: NonZeroI128) -> NonZeroI128
impl<P> FromUriParam<P, IpAddr> for IpAddr where
P: Part,
impl<P> FromUriParam<P, IpAddr> for IpAddr where
P: Part,
type Target = IpAddr
fn from_uri_param(param: IpAddr) -> IpAddr
impl<P> FromUriParam<P, f32> for f32 where
P: Part,
impl<P> FromUriParam<P, f32> for f32 where
P: Part,
type Target = f32
fn from_uri_param(param: f32) -> f32
impl<P> FromUriParam<P, NonZeroU64> for NonZeroU64 where
P: Part,
impl<P> FromUriParam<P, NonZeroU64> for NonZeroU64 where
P: Part,
type Target = NonZeroU64
fn from_uri_param(param: NonZeroU64) -> NonZeroU64
impl<'x, P> FromUriParam<P, &'x mut Time> for Time where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut Time> for Time where
P: Part,
type Target = &'x mut Time
fn from_uri_param(param: &'x mut Time) -> &'x mut Time
impl<'x, P> FromUriParam<P, &'x u8> for u8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x u8> for u8 where
P: Part,
type Target = &'x u8
fn from_uri_param(param: &'x u8) -> &'x u8
impl<'x> FromUriParam<Path, &'x mut PathBuf> for PathBuf
impl<'x> FromUriParam<Path, &'x mut PathBuf> for PathBuf
type Target = &'x mut PathBuf
fn from_uri_param(param: &'x mut PathBuf) -> &'x mut PathBuf
impl<'x, P> FromUriParam<P, &'x mut NonZeroI32> for NonZeroI32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut NonZeroI32> for NonZeroI32 where
P: Part,
type Target = &'x mut NonZeroI32
fn from_uri_param(param: &'x mut NonZeroI32) -> &'x mut NonZeroI32
impl<'x, P> FromUriParam<P, &'x mut IpAddr> for IpAddr where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut IpAddr> for IpAddr where
P: Part,
type Target = &'x mut IpAddr
fn from_uri_param(param: &'x mut IpAddr) -> &'x mut IpAddr
impl<'x, P> FromUriParam<P, &'x NonZeroI8> for NonZeroI8 where
P: Part,
impl<'x, P> FromUriParam<P, &'x NonZeroI8> for NonZeroI8 where
P: Part,
type Target = &'x NonZeroI8
fn from_uri_param(param: &'x NonZeroI8) -> &'x NonZeroI8
impl<'x, P> FromUriParam<P, &'x mut f32> for f32 where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut f32> for f32 where
P: Part,
type Target = &'x mut f32
fn from_uri_param(param: &'x mut f32) -> &'x mut f32
impl<'x, P> FromUriParam<P, &'x mut SocketAddr> for SocketAddr where
P: Part,
impl<'x, P> FromUriParam<P, &'x mut SocketAddr> for SocketAddr where
P: Part,
type Target = &'x mut SocketAddr
fn from_uri_param(param: &'x mut SocketAddr) -> &'x mut SocketAddr
Implementors
impl<'a, K, V, A, B> FromUriParam<Query, &'a BTreeMap<A, B>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a BTreeMap<A, B>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a BTreeMap<A, B>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a BTreeMap<A, B>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a HashMap<A, B, RandomState>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a HashMap<A, B, RandomState>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
type Target = &'a HashMap<A, B, RandomState>
impl<'a, K, V, A, B> FromUriParam<Query, &'a HashMap<A, B, RandomState>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a HashMap<A, B, RandomState>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
type Target = &'a HashMap<A, B, RandomState>
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut BTreeMap<A, B>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut BTreeMap<A, B>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut BTreeMap<A, B>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut BTreeMap<A, B>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut HashMap<A, B, RandomState>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut HashMap<A, B, RandomState>> for BTreeMap<K, V> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
type Target = &'a HashMap<A, B, RandomState>
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut HashMap<A, B, RandomState>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
impl<'a, K, V, A, B> FromUriParam<Query, &'a mut HashMap<A, B, RandomState>> for HashMap<K, V, RandomState> where
A: UriDisplay<Query>,
K: FromUriParam<Query, A>,
B: UriDisplay<Query>,
V: FromUriParam<Query, B>,
type Target = &'a HashMap<A, B, RandomState>
sourceimpl<'a, T: Serialize> FromUriParam<Query, &'a T> for Json<T>
Available on crate feature json
only.
impl<'a, T: Serialize> FromUriParam<Query, &'a T> for Json<T>
json
only.sourceimpl<'a, T: Serialize> FromUriParam<Query, &'a mut T> for Json<T>
Available on crate feature json
only.
impl<'a, T: Serialize> FromUriParam<Query, &'a mut T> for Json<T>
json
only.sourceimpl<'f, A, T: FromUriParam<Query, A> + FromForm<'f>> FromUriParam<Query, A> for Lenient<T>
impl<'f, A, T: FromUriParam<Query, A> + FromForm<'f>> FromUriParam<Query, A> for Lenient<T>
type Target = <T as FromUriParam<Query, A>>::Target
sourceimpl<'f, A, T: FromUriParam<Query, A> + FromForm<'f>> FromUriParam<Query, A> for Strict<T>
impl<'f, A, T: FromUriParam<Query, A> + FromForm<'f>> FromUriParam<Query, A> for Strict<T>
type Target = <T as FromUriParam<Query, A>>::Target
impl<'x, 'a, P> FromUriParam<P, &'x mut &'a str> for String where
P: Part,
impl<'x, 'a, P> FromUriParam<P, &'x mut &'a str> for String where
P: Part,
sourceimpl<'x, T: Serialize> FromUriParam<Query, &'x Json<T>> for Json<T>
Available on crate feature json
only.
impl<'x, T: Serialize> FromUriParam<Query, &'x Json<T>> for Json<T>
json
only.sourceimpl<'x, T: Serialize> FromUriParam<Query, &'x mut Json<T>> for Json<T>
Available on crate feature json
only.
impl<'x, T: Serialize> FromUriParam<Query, &'x mut Json<T>> for Json<T>
json
only.impl<A, E, T> FromUriParam<Path, A> for Result<T, E> where
T: FromUriParam<Path, A>,
impl<A, E, T> FromUriParam<Path, A> for Result<T, E> where
T: FromUriParam<Path, A>,
A no cost conversion allowing T
to be used in place of an Result<T, E>
.
type Target = <T as FromUriParam<Path, A>>::Target
impl<A, E, T> FromUriParam<Query, Option<A>> for Result<T, E> where
T: FromUriParam<Query, A>,
impl<A, E, T> FromUriParam<Query, Option<A>> for Result<T, E> where
T: FromUriParam<Query, A>,
type Target = Option<<T as FromUriParam<Query, A>>::Target>
impl<A, E, T> FromUriParam<Query, Result<A, E>> for Option<T> where
T: FromUriParam<Query, A>,
impl<A, E, T> FromUriParam<Query, Result<A, E>> for Option<T> where
T: FromUriParam<Query, A>,
type Target = Result<<T as FromUriParam<Query, A>>::Target, E>
impl<A, E, T> FromUriParam<Query, Result<A, E>> for Result<T, E> where
T: FromUriParam<Query, A>,
impl<A, E, T> FromUriParam<Query, Result<A, E>> for Result<T, E> where
T: FromUriParam<Query, A>,
type Target = Result<<T as FromUriParam<Query, A>>::Target, E>
impl<A, T> FromUriParam<Path, A> for Option<T> where
T: FromUriParam<Path, A>,
impl<A, T> FromUriParam<Path, A> for Option<T> where
T: FromUriParam<Path, A>,
A no cost conversion allowing any T
to be used in place of an Option<T>
.