about summary refs log tree commit diff
path: root/src/librustdoc/html
diff options
context:
space:
mode:
authorOhad Ravid <ohad.rv@gmail.com>2019-12-11 14:50:19 +0100
committerOhad Ravid <ohad.rv@gmail.com>2019-12-24 10:10:36 +0100
commit811bdeee002827fbc950ac52a6175e933567823c (patch)
tree3c4bcf2e2329d30c9f95fda4db87d19ffb0b626e /src/librustdoc/html
parent625375400cdd172877e81c3ce44ce68f2011af2d (diff)
downloadrust-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.rs26
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)
 }