Add placeholder doc comments to macro-generated enums (#2872)
* Add placeholder doc comments to macro-generate enums * Add doc comments to generated router parse error enums --------- Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
This commit is contained in:
1 parent
eac7f65551
commit
a575a425e3
5 files changed
+79
-13
No files matched your search
@@ -642,8 +642,17 @@ impl RouteEnum {
|
||||
|
||||
let error_name = route.error_ident();
|
||||
let route_str = &route.route;
|
||||
let comment = format!(
|
||||
" An error that can occur when trying to parse the route [`{}::{}`] ('{}').",
|
||||
self.name,
|
||||
route_name,
|
||||
route_str
|
||||
);
|
||||
|
||||
error_variants.push(quote! { #route_name(#error_name) });
|
||||
error_variants.push(quote! {
|
||||
#[doc = #comment]
|
||||
#route_name(#error_name)
|
||||
});
|
||||
display_match.push(quote! { Self::#route_name(err) => write!(f, "Route '{}' ('{}') did not match:\n{}", stringify!(#route_name), #route_str, err)? });
|
||||
type_defs.push(route.error_type());
|
||||
}
|
||||
@@ -651,8 +660,15 @@ impl RouteEnum {
|
||||
let error_variant = redirect.error_variant();
|
||||
let error_name = redirect.error_ident();
|
||||
let route_str = &redirect.route;
|
||||
let comment = format!(
|
||||
" An error that can occur when trying to parse the redirect '{}'.",
|
||||
route_str.value()
|
||||
);
|
||||
|
||||
error_variants.push(quote! { #error_variant(#error_name) });
|
||||
error_variants.push(quote! {
|
||||
#[doc = #comment]
|
||||
#error_variant(#error_name)
|
||||
});
|
||||
display_match.push(quote! { Self::#error_variant(err) => write!(f, "Redirect '{}' ('{}') did not match:\n{}", stringify!(#error_name), #route_str, err)? });
|
||||
type_defs.push(redirect.error_type());
|
||||
}
|
||||
@@ -663,15 +679,28 @@ impl RouteEnum {
|
||||
let error_variant = nest.error_variant();
|
||||
let error_name = nest.error_ident();
|
||||
let route_str = &nest.route;
|
||||
let comment = format!(
|
||||
" An error that can occur when trying to parse the nested segment {} ('{}').",
|
||||
error_name, route_str
|
||||
);
|
||||
|
||||
error_variants.push(quote! { #error_variant(#error_name) });
|
||||
error_variants.push(quote! {
|
||||
#[doc = #comment]
|
||||
#error_variant(#error_name)
|
||||
});
|
||||
display_match.push(quote! { Self::#error_variant(err) => write!(f, "Nest '{}' ('{}') did not match:\n{}", stringify!(#error_name), #route_str, err)? });
|
||||
type_defs.push(nest.error_type());
|
||||
}
|
||||
|
||||
let comment = format!(
|
||||
" An error that can occur when trying to parse the route enum [`{}`].",
|
||||
self.name
|
||||
);
|
||||
|
||||
quote! {
|
||||
#(#type_defs)*
|
||||
|
||||
#[doc = #comment]
|
||||
#[allow(non_camel_case_types)]
|
||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||
pub enum #match_error_name {
|
||||
|
||||
Reference in new issue
Block a user