diff options
| author | Martin Nordholts <martin.nordholts@codetale.se> | 2025-06-23 23:45:13 +0200 |
|---|---|---|
| committer | Martin Nordholts <martin.nordholts@codetale.se> | 2025-06-24 00:03:05 +0200 |
| commit | 7c0ef44d4f7b43ba79c8a45ff357b4c8c3f94881 (patch) | |
| tree | b959c0998ca1ba9fe5bdec40801c41d1f15084b2 /src/librustdoc/json | |
| parent | 42245d34d22ade32b3f276dcf74deb826841594c (diff) | |
| download | rust-7c0ef44d4f7b43ba79c8a45ff357b4c8c3f94881.tar.gz rust-7c0ef44d4f7b43ba79c8a45ff357b4c8c3f94881.zip | |
rustdoc-json: Keep empty generic args if parenthesized
Because in the case of for example
pub fn my_fn3(f: impl FnMut()) {}
we want to keep `()` even if it is empty since that matches e.g. Rust
syntax requirements.
Diffstat (limited to 'src/librustdoc/json')
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index 0778b5b56f5..f51b35097f6 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -194,22 +194,25 @@ impl FromClean<attrs::Deprecation> for Deprecation { } impl FromClean<clean::GenericArgs> for Option<Box<GenericArgs>> { - fn from_clean(args: &clean::GenericArgs, renderer: &JsonRenderer<'_>) -> Self { + fn from_clean(generic_args: &clean::GenericArgs, renderer: &JsonRenderer<'_>) -> Self { use clean::GenericArgs::*; - if args.is_empty() { - return None; - } - Some(Box::new(match args { - AngleBracketed { args, constraints } => GenericArgs::AngleBracketed { - args: args.into_json(renderer), - constraints: constraints.into_json(renderer), - }, - Parenthesized { inputs, output } => GenericArgs::Parenthesized { + match generic_args { + AngleBracketed { args, constraints } => { + if generic_args.is_empty() { + None + } else { + Some(Box::new(GenericArgs::AngleBracketed { + args: args.into_json(renderer), + constraints: constraints.into_json(renderer), + })) + } + } + Parenthesized { inputs, output } => Some(Box::new(GenericArgs::Parenthesized { inputs: inputs.into_json(renderer), output: output.into_json(renderer), - }, - ReturnTypeNotation => GenericArgs::ReturnTypeNotation, - })) + })), + ReturnTypeNotation => Some(Box::new(GenericArgs::ReturnTypeNotation)), + } } } |
