Sergio Benitez
9f0e02fe27
Make references to core types absolute in codegen.
...
Prior to this commit, codegen emitted tokens containing bare types like
'Result' and 'Box' as well as presumed imported variants such as 'None'
and 'Ok'. However, users are free to shadow these, and if they do, the
generated code will fail to compile, or worse, be incorrect. To avoid
this, this commit makes all references to these core types and imports
absolute.
2020-02-06 21:16:45 -08:00
Jeb Rosen
ff2000293c
Update 'compiletest' and fix and re-enable compile UI tests.
2020-01-15 17:09:57 -08:00
Jeb Rosen
96235615ce
Update compile tests for changes in rust nightly.
2019-11-29 11:18:32 -08:00
Jeb Rosen
343f51d550
Disable UI tests for now.
2019-11-29 11:18:26 -08:00
Jacob Pratt
4e6a7ddd5f
Remove use of the 'crate_visibility_modifier' feature.
...
Most items with 'crate' visibility become 'pub(crate)'.
Items are made 'pub' instead when they would remain private.
2019-09-21 09:16:04 -07:00
Jeb Rosen
335d8f7dbb
Adjust '#[catch]' codegen output to fix a UI test regression in latest nightly.
2019-09-21 08:33:16 -07:00
Sergio Benitez
592e441de5
Use proper span in responder codegen output.
2019-09-09 21:57:10 -07:00
Sergio Benitez
22da02fa64
Remove double semicolons; silence test warnings.
2019-09-09 16:57:03 -07:00
Sergio Benitez
0b059e06e5
Update 'devise' to 0.3.
...
This transitively updates 'syn', 'proc-macro2', and 'quote' to 1.0.
2019-09-05 15:44:25 -07:00
Sergio Benitez
dcea9563fc
Update UI tests for latest nightly.
2019-08-26 12:48:32 -07:00
Jeb Rosen
3e4f8453ce
Remove use of the 'decl_macro' feature.
...
Also removes one internal use in the 'typed-uris' codegen test.
2019-07-19 11:39:56 -07:00
Jeb Rosen
2f458b5217
Remove dependence on 'decl_macro' in codegen.
...
The generated 'uri' helper macros are now re-exports of 'macro_rules'
macros, made possible by the stable 'uniform_paths' feature.
2019-07-19 11:38:35 -07:00
Jeb Rosen
be784a7845
Migrate codegen to Rust 2018.
2019-06-25 13:45:27 -04:00
Jeb Rosen
2d924f0f51
Allow 'non_snake_case' for generated query params.
...
Also adds '#[deny(non_snake_case)]' to the complete route generation
test for regressions.
Fixes #1003 .
2019-05-29 19:18:46 -07:00
Sergio Benitez
e458df094f
Update 'version_check' to 0.9.
2019-05-24 01:48:42 -07:00
jeb
6bf751fb22
Reexport derive macros alongside derived traits.
2019-05-22 22:19:47 -07:00
Sergio Benitez
1caf87eb21
Move to 0.5.0-dev on master.
2019-05-13 16:18:48 -07:00
Jeb Rosen
3c51a2f401
Update compiler tests for 2019-04-19 nightly.
2019-04-20 08:17:19 -07:00
Jacob Pratt
9b219ddc01
Remove stabilized feature gates.
...
* try_from
* transpose_result
2019-04-12 18:48:51 -07:00
Oliver Scherer
c86f4312fb
Always produce a valid, if conservative, subspan.
2019-02-08 18:03:53 -08:00
jeb
afd08ffb20
Update compiler tests for 2018-12-28 nightly.
2018-12-29 09:31:14 -08:00
Sergio Benitez
ca5623c641
Type encoding to fix encoding issues once and for all.
...
Fixes #849 .
2018-12-12 17:38:36 -08:00
Sergio Benitez
5056705884
Improve query string routing and typed URI docs.
2018-12-07 12:09:15 -08:00
Sergio Benitez
a4dcb0cf4c
New version: 0.4.0.
2018-12-06 09:19:11 -08:00
Sergio Benitez
7fb6ba9be5
Generate 'FromUriParam' impls in 'UriDisplayPath'.
2018-12-06 09:00:01 -08:00
Sergio Benitez
d7933dd6fd
Implement ignorable 'uri!' expressions.
...
Closes #840 .
2018-12-06 08:43:24 -08:00
Sergio Benitez
90a6749313
New version: 0.4.0-rc.2.
2018-11-30 21:00:18 -08:00
Sergio Benitez
5ec21d5ba0
Update dependencies to published versions.
2018-11-30 09:00:16 -08:00
Sergio Benitez
ac823861c8
Systematically name and span codegen variables.
...
Fixes #839 .
2018-11-30 08:43:31 -08:00
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
Sergio Benitez
543b07a4ba
Use upstream 'Literal::subspan()'.
2018-11-23 19:15:13 -06:00
jeb
ed4055925d
Use 'dyn' in codegen to silence 'bare_trait_objects' lint.
2018-11-19 02:34:46 -08:00
Sergio Benitez
abb434f228
Stop using white for legible logging everywhere.
...
Prior to this change, Rocket emitted "white" text in much of its logging
output. On terminals with light backgrounds, the text was nearly
illegible. This PR stops using white coloring altogether, opting instead
to use the terminal's default color albeit with bold styling. On dark
terminals, this will likely be a light color, and on light terminals,
this will likely be a dark color. The end result is that Rocket's
logging output should be readable everywhere.
Resolves #639 .
2018-11-19 02:11:38 -08:00
Sergio Benitez
3b6c4d2a5f
Prefix codegen imports to avoid name collisions.
...
Fixes #817 .
2018-11-12 13:08:39 -08:00
Sergio Benitez
4dbd87a36f
New version: 0.4.0-rc.1.
2018-10-31 14:35:30 -07:00
Sergio Benitez
ef3e7ca2c6
Make all top-level crates publishable.
2018-10-31 03:57:37 -07:00
Sergio Benitez
16a65a9a45
Mention selective importing in 'rocket_codegen' docs.
2018-10-30 02:53:51 -07:00
jeb
328bf4b32e
Support 'uri' macro in 2018 edition crates.
2018-10-30 02:44:22 -07:00
Sergio Benitez
4ef179cc59
Migrate from 'derive_utils' to published 'devise'.
...
Resolves #800 .
2018-10-29 04:58:56 -07:00
Sergio Benitez
7090e2a1ee
Use 'unreachable' to silence clippy on route codegen.
...
Closes #794 .
2018-10-29 01:33:30 -07:00
Sergio Benitez
c1b39a016b
Improve 'Redirect' and 'rocket_codegen' documentation.
2018-10-28 20:17:44 -07:00
Sergio Benitez
a77876f640
Use stable version of 'compiletest_rs'.
2018-10-28 20:17:44 -07:00
Sergio Benitez
556206e8b3
Version all URLs to 'rocket.rs'.
2018-10-26 21:20:12 -07:00
Sergio Benitez
3798cd3e65
Document and test 'UriDisplay', its derive, and 'Formatter'.
2018-10-25 02:53:04 -07:00
Divyahans Gupta
cda4c520f1
Add derive for 'UriDisplay'.
2018-10-24 22:14:12 -07:00
Divyahans Gupta
34421f13f3
Allow nested values in 'UriDisplay'.
2018-10-24 21:57:53 -07:00
Sergio Benitez
26db5ecb4e
Fix normalization and Windows issues.
2018-10-24 00:01:56 -07:00
Sergio Benitez
9ef0b731c8
Rename 'codegen_next' to 'codegen'.
2018-10-22 00:01:41 -07:00
Sergio Benitez
360b0e80b0
Port all codegen tests to codegen_next.
2018-10-09 04:31:08 -07:00
Sergio Benitez
b9bf1ee37d
Fix typed URI generation for query reform.
2018-10-09 04:31:08 -07:00