Something that can be created from an entire hash fragment. This must be implemented for any type that is used as a hash fragment like #[route("/#:hash_fragment")].
Something that can be created from an entire query string. This trait must be implemented for any type that is spread into the query segment like #[route("/?:..query")].
Something that can be created from a query argument. This trait must be implemented for any type that is used as a query argument like #[route("/?:query")].
Something that can be created from a single route segment. This must be implemented for any type that is used as a route segment like #[route("/:route_segment")].
Something that can be created from multiple route segments. This must be implemented for any type that is spread into the route segment like #[route("/:..route_segments")].
Something that can be converted into multiple route segments. This must be implemented for any type that is spread into the route segment like #[route("/:..route_segments")].