diff options
| author | Ohad Ravid <ohad.rv@gmail.com> | 2019-12-11 14:50:19 +0100 |
|---|---|---|
| committer | Ohad Ravid <ohad.rv@gmail.com> | 2019-12-24 10:10:36 +0100 |
| commit | 811bdeee002827fbc950ac52a6175e933567823c (patch) | |
| tree | 3c4bcf2e2329d30c9f95fda4db87d19ffb0b626e /src/librustdoc/html | |
| parent | 625375400cdd172877e81c3ce44ce68f2011af2d (diff) | |
| download | rust-811bdeee002827fbc950ac52a6175e933567823c.tar.gz rust-811bdeee002827fbc950ac52a6175e933567823c.zip | |
Show value for consts in the documentation
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/render.rs | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 506f84baaa5..f763255a932 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -2272,14 +2272,36 @@ fn short_stability(item: &clean::Item, cx: &Context) -> Vec<String> { fn item_constant(w: &mut Buffer, cx: &Context, it: &clean::Item, c: &clean::Constant) { write!(w, "<pre class='rust const'>"); render_attributes(w, it, false); + write!( w, "{vis}const \ - {name}: {typ}</pre>", + {name}: {typ}", vis = it.visibility.print_with_space(), name = it.name.as_ref().unwrap(), - typ = c.type_.print() + typ = c.type_.print(), ); + + if c.value.is_some() || c.is_literal { + write!(w, " = {expr};", expr = c.expr); + } else { + write!(w, ";"); + } + + if let Some(value) = &c.value { + if !c.is_literal { + let value_lowercase = value.to_lowercase(); + let expr_lowercase = c.expr.to_lowercase(); + + if value_lowercase != expr_lowercase + && value_lowercase.trim_end_matches("i32") != expr_lowercase + { + write!(w, " // {value}", value = value); + } + } + } + + write!(w, "</pre>"); document(w, cx, it) } |
