Rocket/core/codegen/src
Sergio Benitez b7db74144f Parameterize 'UriDisplay' with 'Path' or 'Query'.
This commit introduces the sealed `UriPart` marker trait as well as the
implementing `Path` and `Query` marker types, allowing for parts of a
URI to be distinguished at the type level. Consequently, `UriDisplay`
has been parameterized with `P: UriPart`, creating `UriDisplay<Path>`
and `UriDisplay<Query>`. The effect of this change is improved type
safely for URI rendering as well as the ability to omit rendering values
in query parts via `Option` and `Result`.

The `UriDisplay` derive was replaced by `UriDisplayQuery` and
`UriDisplayPath` which derive implementations for `UriDisplay<Path>`
and `UriDisplay<Query>`, respectively.

This commit also works around a rustdoc visibility issue by creating a
hidden `http::private` module.

Finally, this commit also removes the now vestigial use of the
`rustc_private` feature in codegen.

Fixes #827.
2018-11-27 10:01:47 -06:00
..
attribute Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
bang Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
derive Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
http_codegen.rs Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
lib.rs Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
proc_macro_ext.rs Parameterize 'UriDisplay' with 'Path' or 'Query'. 2018-11-27 10:01:47 -06:00
syn_ext.rs Migrate from 'derive_utils' to published 'devise'. 2018-10-29 04:58:56 -07:00