Auto merge of #53409 - GuillaumeGomez:associated-const-value, r=QuietMisdreavus
Don't show associated const value anymore Part of #44348. Before: <img width="1440" alt="screen shot 2018-08-16 at 00 48 30" src="https://user-images.githubusercontent.com/3050060/44177414-20ef1480-a0ee-11e8-80d4-7caf082cf0de.png"> After: <img width="1440" alt="screen shot 2018-08-16 at 00 48 23" src="https://user-images.githubusercontent.com/3050060/44177417-251b3200-a0ee-11e8-956a-4229275e3342.png"> cc @nox r? @QuietMisdreavus
This commit is contained in:
commit
f2302daef3
9 changed files with 31 additions and 73 deletions
|
@ -2213,8 +2213,7 @@ fn document(w: &mut fmt::Formatter, cx: &Context, item: &clean::Item) -> fmt::Re
|
|||
info!("Documenting {}", name);
|
||||
}
|
||||
document_stability(w, cx, item)?;
|
||||
let prefix = render_assoc_const_value(item);
|
||||
document_full(w, item, cx, &prefix)?;
|
||||
document_full(w, item, cx, "")?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -2246,20 +2245,6 @@ fn document_short(w: &mut fmt::Formatter, cx: &Context, item: &clean::Item, link
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn render_assoc_const_value(item: &clean::Item) -> String {
|
||||
match item.inner {
|
||||
clean::AssociatedConstItem(ref ty, Some(ref default)) => {
|
||||
highlight::render_with_highlighting(
|
||||
&format!("{}: {:#} = {}", item.name.as_ref().unwrap(), ty, default),
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
)
|
||||
}
|
||||
_ => String::new(),
|
||||
}
|
||||
}
|
||||
|
||||
fn document_full(w: &mut fmt::Formatter, item: &clean::Item,
|
||||
cx: &Context, prefix: &str) -> fmt::Result {
|
||||
if let Some(s) = cx.shared.maybe_collapsed_doc_value(item) {
|
||||
|
@ -2609,27 +2594,15 @@ fn short_stability(item: &clean::Item, cx: &Context, show_reason: bool) -> Vec<S
|
|||
stability
|
||||
}
|
||||
|
||||
struct Initializer<'a>(&'a str);
|
||||
|
||||
impl<'a> fmt::Display for Initializer<'a> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let Initializer(s) = *self;
|
||||
if s.is_empty() { return Ok(()); }
|
||||
write!(f, "<code> = </code>")?;
|
||||
write!(f, "<code>{}</code>", Escape(s))
|
||||
}
|
||||
}
|
||||
|
||||
fn item_constant(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
|
||||
c: &clean::Constant) -> fmt::Result {
|
||||
write!(w, "<pre class='rust const'>")?;
|
||||
render_attributes(w, it)?;
|
||||
write!(w, "{vis}const \
|
||||
{name}: {typ}{init}</pre>",
|
||||
{name}: {typ}</pre>",
|
||||
vis = VisSpace(&it.visibility),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = c.type_,
|
||||
init = Initializer(&c.expr))?;
|
||||
typ = c.type_)?;
|
||||
document(w, cx, it)
|
||||
}
|
||||
|
||||
|
@ -2638,12 +2611,11 @@ fn item_static(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item,
|
|||
write!(w, "<pre class='rust static'>")?;
|
||||
render_attributes(w, it)?;
|
||||
write!(w, "{vis}static {mutability}\
|
||||
{name}: {typ}{init}</pre>",
|
||||
{name}: {typ}</pre>",
|
||||
vis = VisSpace(&it.visibility),
|
||||
mutability = MutableSpace(s.mutability),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = s.type_,
|
||||
init = Initializer(&s.expr))?;
|
||||
typ = s.type_)?;
|
||||
document(w, cx, it)
|
||||
}
|
||||
|
||||
|
@ -3878,7 +3850,13 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
|
|||
write!(w, "<h4 id='{}' class=\"{}\">", id, item_type)?;
|
||||
write!(w, "<span id='{}' class='invisible'><code>", ns_id)?;
|
||||
assoc_const(w, item, ty, default.as_ref(), link.anchor(&id))?;
|
||||
write!(w, "</code></span></h4>\n")?;
|
||||
let src = if let Some(l) = (Item { cx, item }).src_href() {
|
||||
format!("<a class='srclink' href='{}' title='{}'>[src]</a>",
|
||||
l, "goto source code")
|
||||
} else {
|
||||
String::new()
|
||||
};
|
||||
write!(w, "</code>{}</span></h4>\n", src)?;
|
||||
}
|
||||
clean::AssociatedTypeItem(ref bounds, ref default) => {
|
||||
let id = cx.derive_id(format!("{}.{}", item_type, name));
|
||||
|
@ -3893,8 +3871,6 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
|
|||
}
|
||||
|
||||
if render_method_item || render_mode == RenderMode::Normal {
|
||||
let prefix = render_assoc_const_value(item);
|
||||
|
||||
if !is_default_item {
|
||||
if let Some(t) = trait_ {
|
||||
// The trait item may have been stripped so we might not
|
||||
|
@ -3904,23 +3880,23 @@ fn render_impl(w: &mut fmt::Formatter, cx: &Context, i: &Impl, link: AssocItemLi
|
|||
// because impls can't have a stability.
|
||||
document_stability(w, cx, it)?;
|
||||
if item.doc_value().is_some() {
|
||||
document_full(w, item, cx, &prefix)?;
|
||||
document_full(w, item, cx, "")?;
|
||||
} else if show_def_docs {
|
||||
// In case the item isn't documented,
|
||||
// provide short documentation from the trait.
|
||||
document_short(w, cx, it, link, &prefix)?;
|
||||
document_short(w, cx, it, link, "")?;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
document_stability(w, cx, item)?;
|
||||
if show_def_docs {
|
||||
document_full(w, item, cx, &prefix)?;
|
||||
document_full(w, item, cx, "")?;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
document_stability(w, cx, item)?;
|
||||
if show_def_docs {
|
||||
document_short(w, cx, item, link, &prefix)?;
|
||||
document_short(w, cx, item, link, "")?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2028,7 +2028,8 @@
|
|||
if (!next) {
|
||||
return;
|
||||
}
|
||||
if ((checkIfThereAreMethods(next.childNodes) || hasClass(e, 'method')) &&
|
||||
if ((hasClass(e, 'method') || hasClass(e, 'associatedconstant') ||
|
||||
checkIfThereAreMethods(next.childNodes)) &&
|
||||
(hasClass(next, 'docblock') ||
|
||||
hasClass(e, 'impl') ||
|
||||
(hasClass(next, 'stability') &&
|
||||
|
@ -2037,10 +2038,8 @@
|
|||
}
|
||||
};
|
||||
onEach(document.getElementsByClassName('method'), func);
|
||||
onEach(document.getElementsByClassName('associatedconstant'), func);
|
||||
onEach(document.getElementsByClassName('impl'), func);
|
||||
onEach(document.getElementsByClassName('impl-items'), function(e) {
|
||||
onEach(e.getElementsByClassName('associatedconstant'), func);
|
||||
});
|
||||
|
||||
function createToggle(otherMessage, fontSize, extraClass) {
|
||||
var span = document.createElement('span');
|
||||
|
|
|
@ -575,6 +575,14 @@ a {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.invisible > .srclink {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 17px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.block a.current.crate { font-weight: 500; }
|
||||
|
||||
.search-container {
|
||||
|
|
|
@ -13,7 +13,6 @@ pub trait Foo {
|
|||
// @has assoc_consts/trait.Foo.html '//*[@class="rust trait"]' \
|
||||
// 'const FOO: usize;'
|
||||
// @has - '//*[@id="associatedconstant.FOO"]' 'const FOO: usize'
|
||||
// @has - '//*[@class="docblock"]' 'FOO: usize = 12'
|
||||
const FOO: usize = 12;
|
||||
// @has - '//*[@id="associatedconstant.FOO_NO_DEFAULT"]' 'const FOO_NO_DEFAULT: bool'
|
||||
const FOO_NO_DEFAULT: bool;
|
||||
|
@ -27,10 +26,8 @@ pub struct Bar;
|
|||
impl Foo for Bar {
|
||||
// @has assoc_consts/struct.Bar.html '//code' 'impl Foo for Bar'
|
||||
// @has - '//*[@id="associatedconstant.FOO"]' 'const FOO: usize'
|
||||
// @has - '//*[@class="docblock"]' 'FOO: usize = 12'
|
||||
const FOO: usize = 12;
|
||||
// @has - '//*[@id="associatedconstant.FOO_NO_DEFAULT"]' 'const FOO_NO_DEFAULT: bool'
|
||||
// @has - '//*[@class="docblock"]' 'FOO_NO_DEFAULT: bool = false'
|
||||
const FOO_NO_DEFAULT: bool = false;
|
||||
// @!has - FOO_HIDDEN
|
||||
#[doc(hidden)]
|
||||
|
@ -40,7 +37,6 @@ impl Foo for Bar {
|
|||
impl Bar {
|
||||
// @has assoc_consts/struct.Bar.html '//*[@id="associatedconstant.BAR"]' \
|
||||
// 'const BAR: usize'
|
||||
// @has - '//*[@class="docblock"]' 'BAR: usize = 3'
|
||||
pub const BAR: usize = 3;
|
||||
}
|
||||
|
||||
|
@ -49,7 +45,6 @@ pub struct Baz<'a, U: 'a, T>(T, &'a [U]);
|
|||
impl Bar {
|
||||
// @has assoc_consts/struct.Bar.html '//*[@id="associatedconstant.BAZ"]' \
|
||||
// "const BAZ: Baz<'static, u8, u32>"
|
||||
// @has - '//*[@class="docblock"]' "BAZ: Baz<'static, u8, u32> = Baz(321, &[1, 2, 3])"
|
||||
pub const BAZ: Baz<'static, u8, u32> = Baz(321, &[1, 2, 3]);
|
||||
}
|
||||
|
||||
|
@ -58,7 +53,6 @@ pub fn f(_: &(ToString + 'static)) {}
|
|||
impl Bar {
|
||||
// @has assoc_consts/struct.Bar.html '//*[@id="associatedconstant.F"]' \
|
||||
// "const F: fn(_: &(ToString + 'static))"
|
||||
// @has - '//*[@class="docblock"]' "F: fn(_: &(ToString + 'static)) = f"
|
||||
pub const F: fn(_: &(ToString + 'static)) = f;
|
||||
}
|
||||
|
||||
|
@ -81,17 +75,14 @@ pub trait Qux {
|
|||
/// Docs for QUX1 in trait.
|
||||
const QUX1: i8;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT0"]' 'const QUX_DEFAULT0: u16'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT0: u16 = 1"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT0 in trait."
|
||||
/// Docs for QUX_DEFAULT0 in trait.
|
||||
const QUX_DEFAULT0: u16 = 1;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT1"]' 'const QUX_DEFAULT1: i16'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT1: i16 = 2"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT1 in trait."
|
||||
/// Docs for QUX_DEFAULT1 in trait.
|
||||
const QUX_DEFAULT1: i16 = 2;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT2"]' 'const QUX_DEFAULT2: u32'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT2: u32 = 3"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT2 in trait."
|
||||
/// Docs for QUX_DEFAULT2 in trait.
|
||||
const QUX_DEFAULT2: u32 = 3;
|
||||
|
@ -100,25 +91,20 @@ pub trait Qux {
|
|||
// @has assoc_consts/struct.Bar.html '//code' 'impl Qux for Bar'
|
||||
impl Qux for Bar {
|
||||
// @has - '//*[@id="associatedconstant.QUX0"]' 'const QUX0: u8'
|
||||
// @has - '//*[@class="docblock"]' "QUX0: u8 = 4"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX0 in trait."
|
||||
/// Docs for QUX0 in trait.
|
||||
const QUX0: u8 = 4;
|
||||
// @has - '//*[@id="associatedconstant.QUX1"]' 'const QUX1: i8'
|
||||
// @has - '//*[@class="docblock"]' "QUX1: i8 = 5"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX1 in impl."
|
||||
/// Docs for QUX1 in impl.
|
||||
const QUX1: i8 = 5;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT0"]' 'const QUX_DEFAULT0: u16'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT0: u16 = 6"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT0 in trait."
|
||||
const QUX_DEFAULT0: u16 = 6;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT1"]' 'const QUX_DEFAULT1: i16'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT1: i16 = 7"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT1 in impl."
|
||||
/// Docs for QUX_DEFAULT1 in impl.
|
||||
const QUX_DEFAULT1: i16 = 7;
|
||||
// @has - '//*[@id="associatedconstant.QUX_DEFAULT2"]' 'const QUX_DEFAULT2: u32'
|
||||
// @has - '//*[@class="docblock"]' "QUX_DEFAULT2: u32 = 3"
|
||||
// @has - '//*[@class="docblock"]' "Docs for QUX_DEFAULT2 in trait."
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ pub struct ContentType {
|
|||
|
||||
impl ContentType {
|
||||
// @has const_doc/struct.ContentType.html
|
||||
// @has - '//*[@class="docblock"]' 'Any: ContentType = ContentType{ttype: Foo{f: '
|
||||
// @has - '//*[@id="associatedconstant.Any"]' 'const Any: ContentType'
|
||||
pub const Any: ContentType = ContentType { ttype: Foo { f: PhantomData, },
|
||||
subtype: Foo { f: PhantomData, },
|
||||
params: None, };
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
// Test that we HTML-escape Rust expressions, where HTML special chars
|
||||
// can occur, and we know it's definitely not markup.
|
||||
|
||||
// @has escape_rust_expr/constant.CONST_S.html '//pre[@class="rust const"]' '"<script>"'
|
||||
// @!has escape_rust_expr/constant.CONST_S.html '//pre[@class="rust const"]' '"<script>"'
|
||||
pub const CONST_S: &'static str = "<script>";
|
||||
|
|
|
@ -19,16 +19,13 @@ extern crate assoc_items;
|
|||
// @has foo/struct.MyStruct.html
|
||||
// @!has - 'PrivateConst'
|
||||
// @has - '//*[@id="associatedconstant.PublicConst"]' 'pub const PublicConst: u8'
|
||||
// @has - '//*[@class="docblock"]' 'PublicConst: u8 = 123'
|
||||
// @has - '//*[@class="docblock"]' 'docs for PublicConst'
|
||||
// @!has - 'private_method'
|
||||
// @has - '//*[@id="method.public_method"]' 'pub fn public_method()'
|
||||
// @has - '//*[@class="docblock"]' 'docs for public_method'
|
||||
// @has - '//*[@id="associatedconstant.ConstNoDefault"]' 'const ConstNoDefault: i16'
|
||||
// @has - '//*[@class="docblock"]' 'ConstNoDefault: i16 = -123'
|
||||
// @has - '//*[@class="docblock"]' 'dox for ConstNoDefault'
|
||||
// @has - '//*[@id="associatedconstant.ConstWithDefault"]' 'const ConstWithDefault: u16'
|
||||
// @has - '//*[@class="docblock"]' 'ConstWithDefault: u16 = 12345'
|
||||
// @has - '//*[@class="docblock"]' 'docs for ConstWithDefault'
|
||||
// @has - '//*[@id="associatedtype.TypeNoDefault"]' 'type TypeNoDefault = i32'
|
||||
// @has - '//*[@class="docblock"]' 'dox for TypeNoDefault'
|
||||
|
@ -44,11 +41,9 @@ pub use assoc_items::MyStruct;
|
|||
// @has - '//*[@id="associatedconstant.ConstNoDefault"]' 'const ConstNoDefault: i16'
|
||||
// @has - '//*[@class="docblock"]' 'docs for ConstNoDefault'
|
||||
// @has - '//*[@id="associatedconstant.ConstWithDefault"]' 'const ConstWithDefault: u16'
|
||||
// @has - '//*[@class="docblock"]' 'ConstWithDefault: u16 = 12345'
|
||||
// @has - '//*[@class="docblock"]' 'docs for ConstWithDefault'
|
||||
// @has - '//*[@id="associatedtype.TypeNoDefault"]' 'type TypeNoDefault'
|
||||
// @has - '//*[@class="docblock"]' 'docs for TypeNoDefault'
|
||||
// @has - '//*[@id="associatedtype.TypeWithDefault"]' 'type TypeWithDefault = u32'
|
||||
// @has - '//*[@class="docblock"]' 'docs for TypeWithDefault'
|
||||
// @has - '//*[@id="tymethod.method_no_default"]' 'fn method_no_default()'
|
||||
// @has - '//*[@class="docblock"]' 'docs for method_no_default'
|
||||
|
|
|
@ -16,7 +16,6 @@ pub trait Bar {
|
|||
// @has - '//*[@href="#associatedtype.Bar"]' 'Bar'
|
||||
type Bar = ();
|
||||
// @has - '//*[@id="associatedconstant.Baz"]' 'const Baz: usize'
|
||||
// @has - '//*[@class="docblock"]' 'Baz: usize = 7'
|
||||
// @has - '//*[@href="#associatedconstant.Baz"]' 'Baz'
|
||||
const Baz: usize = 7;
|
||||
// @has - '//*[@id="tymethod.bar"]' 'fn bar'
|
||||
|
|
|
@ -17,10 +17,10 @@ macro_rules! make {
|
|||
pub struct S;
|
||||
|
||||
// @has issue_33302/constant.CST.html \
|
||||
// '//pre[@class="rust const"]' 'pub const CST: i32 = 4 * 4'
|
||||
// '//pre[@class="rust const"]' 'pub const CST: i32'
|
||||
pub const CST: i32 = ($n * $n);
|
||||
// @has issue_33302/static.ST.html \
|
||||
// '//pre[@class="rust static"]' 'pub static ST: i32 = 4 * 4'
|
||||
// '//pre[@class="rust static"]' 'pub static ST: i32'
|
||||
pub static ST: i32 = ($n * $n);
|
||||
|
||||
pub trait T<X> {
|
||||
|
@ -28,7 +28,6 @@ macro_rules! make {
|
|||
const C: X;
|
||||
// @has issue_33302/trait.T.html \
|
||||
// '//*[@class="rust trait"]' 'const D: i32'
|
||||
// @has - '//*[@class="docblock"]' 'D: i32 = 4 * 4'
|
||||
// @has - '//*[@id="associatedconstant.D"]' 'const D: i32'
|
||||
const D: i32 = ($n * $n);
|
||||
}
|
||||
|
@ -37,7 +36,6 @@ macro_rules! make {
|
|||
// '//h3[@class="impl"]' 'impl T<[i32; 16]> for S'
|
||||
// @has - '//*[@id="associatedconstant.C"]' 'const C: [i32; 16]'
|
||||
// @has - '//*[@id="associatedconstant.D"]' 'const D: i32'
|
||||
// @has - '//*[@class="docblock"]' 'C: [i32; 16] = [0; 4 * 4]'
|
||||
impl T<[i32; ($n * $n)]> for S {
|
||||
const C: [i32; ($n * $n)] = [0; ($n * $n)];
|
||||
}
|
||||
|
@ -46,7 +44,6 @@ macro_rules! make {
|
|||
// '//h3[@class="impl"]' 'impl T<[i32; 16]> for S'
|
||||
// @has - '//*[@id="associatedconstant.C-1"]' 'const C: (i32,)'
|
||||
// @has - '//*[@id="associatedconstant.D-1"]' 'const D: i32'
|
||||
// @has - '//*[@class="docblock"]' 'C: (i32,) = (4,)'
|
||||
impl T<(i32,)> for S {
|
||||
const C: (i32,) = ($n,);
|
||||
}
|
||||
|
@ -55,8 +52,6 @@ macro_rules! make {
|
|||
// '//h3[@class="impl"]' 'impl T<(i32, i32)> for S'
|
||||
// @has - '//*[@id="associatedconstant.C-2"]' 'const C: (i32, i32)'
|
||||
// @has - '//*[@id="associatedconstant.D-2"]' 'const D: i32'
|
||||
// @has - '//*[@class="docblock"]' 'C: (i32, i32) = (4, 4)'
|
||||
// @has - '//*[@class="docblock"]' 'D: i32 = 4 / 4'
|
||||
impl T<(i32, i32)> for S {
|
||||
const C: (i32, i32) = ($n, $n);
|
||||
const D: i32 = ($n / $n);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue