use crateError;
/// A param describes a [route][1]'s dependency ([route][1]'s second argument).
///
/// `T` is the request type. With [`hyper`][2], it will be [`http::Request`][3]
///
/// When using `#[derive(Param)]`, `T` must implements both [`PathReq`][4] and
/// [`MethodReq`][5].
///
/// [1]: crate::route::Route
/// [2]: https://docs.rs/hyper/0.14
/// [3]: https://docs.rs/http/0.2/http/request/struct.Request.html
/// [4]: crate::request::PathReq
/// [5]: crate::request::MethodReq