mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
* Remove left margin on items declaration at the top of their documentation page
* Rename "type-decl" into "item-decl" to reflect the change of usage
This commit is contained in:
parent
9a757817c3
commit
8b7a2dd462
@ -482,24 +482,26 @@ fn item_function(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, f: &clean::
|
||||
+ name.as_str().len()
|
||||
+ generics_len;
|
||||
|
||||
wrap_item(w, "fn", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
w.reserve(header_len);
|
||||
write!(
|
||||
w,
|
||||
"{vis}{constness}{asyncness}{unsafety}{abi}fn \
|
||||
{name}{generics}{decl}{notable_traits}{where_clause}",
|
||||
vis = vis,
|
||||
constness = constness,
|
||||
asyncness = asyncness,
|
||||
unsafety = unsafety,
|
||||
abi = abi,
|
||||
name = name,
|
||||
generics = f.generics.print(cx),
|
||||
where_clause = print_where_clause(&f.generics, cx, 0, true),
|
||||
decl = f.decl.full_print(header_len, 0, f.header.asyncness, cx),
|
||||
notable_traits = notable_traits_decl(&f.decl, cx),
|
||||
);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "fn", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
w.reserve(header_len);
|
||||
write!(
|
||||
w,
|
||||
"{vis}{constness}{asyncness}{unsafety}{abi}fn \
|
||||
{name}{generics}{decl}{notable_traits}{where_clause}",
|
||||
vis = vis,
|
||||
constness = constness,
|
||||
asyncness = asyncness,
|
||||
unsafety = unsafety,
|
||||
abi = abi,
|
||||
name = name,
|
||||
generics = f.generics.print(cx),
|
||||
where_clause = print_where_clause(&f.generics, cx, 0, true),
|
||||
decl = f.decl.full_print(header_len, 0, f.header.asyncness, cx),
|
||||
notable_traits = notable_traits_decl(&f.decl, cx),
|
||||
);
|
||||
});
|
||||
});
|
||||
document(w, cx, it, None, HeadingOffset::H2)
|
||||
}
|
||||
@ -844,16 +846,18 @@ fn item_trait(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::Tra
|
||||
}
|
||||
|
||||
fn item_trait_alias(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::TraitAlias) {
|
||||
wrap_item(w, "trait-alias", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
write!(
|
||||
w,
|
||||
"trait {}{}{} = {};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
print_where_clause(&t.generics, cx, 0, true),
|
||||
bounds(&t.bounds, true, cx)
|
||||
);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "trait-alias", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
write!(
|
||||
w,
|
||||
"trait {}{}{} = {};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
print_where_clause(&t.generics, cx, 0, true),
|
||||
bounds(&t.bounds, true, cx)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
document(w, cx, it, None, HeadingOffset::H2);
|
||||
@ -866,16 +870,18 @@ fn item_trait_alias(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clea
|
||||
}
|
||||
|
||||
fn item_opaque_ty(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::OpaqueTy) {
|
||||
wrap_item(w, "opaque", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
write!(
|
||||
w,
|
||||
"type {}{}{where_clause} = impl {bounds};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
where_clause = print_where_clause(&t.generics, cx, 0, true),
|
||||
bounds = bounds(&t.bounds, false, cx),
|
||||
);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "opaque", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
write!(
|
||||
w,
|
||||
"type {}{}{where_clause} = impl {bounds};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
where_clause = print_where_clause(&t.generics, cx, 0, true),
|
||||
bounds = bounds(&t.bounds, false, cx),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
document(w, cx, it, None, HeadingOffset::H2);
|
||||
@ -894,20 +900,37 @@ fn item_typedef(
|
||||
t: &clean::Typedef,
|
||||
is_associated: bool,
|
||||
) {
|
||||
wrap_item(w, "typedef", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
if !is_associated {
|
||||
write!(w, "{}", it.visibility.print_with_space(it.def_id, cx));
|
||||
}
|
||||
write!(
|
||||
w,
|
||||
"type {}{}{where_clause} = {type_};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
where_clause = print_where_clause(&t.generics, cx, 0, true),
|
||||
type_ = t.type_.print(cx),
|
||||
);
|
||||
});
|
||||
fn write_content(
|
||||
w: &mut Buffer,
|
||||
cx: &Context<'_>,
|
||||
it: &clean::Item,
|
||||
t: &clean::Typedef,
|
||||
is_associated: bool,
|
||||
) {
|
||||
wrap_item(w, "typedef", |w| {
|
||||
render_attributes_in_pre(w, it, "");
|
||||
if !is_associated {
|
||||
write!(w, "{}", it.visibility.print_with_space(it.def_id, cx));
|
||||
}
|
||||
write!(
|
||||
w,
|
||||
"type {}{}{where_clause} = {type_};",
|
||||
it.name.as_ref().unwrap(),
|
||||
t.generics.print(cx),
|
||||
where_clause = print_where_clause(&t.generics, cx, 0, true),
|
||||
type_ = t.type_.print(cx),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// If this is an associated typedef, we don't want to wrap it into a docblock.
|
||||
if is_associated {
|
||||
write_content(w, cx, it, t, is_associated);
|
||||
} else {
|
||||
wrap_into_docblock(w, |w| {
|
||||
write_content(w, cx, it, t, is_associated);
|
||||
});
|
||||
}
|
||||
|
||||
document(w, cx, it, None, HeadingOffset::H2);
|
||||
|
||||
@ -1142,32 +1165,34 @@ fn item_macro(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::Mac
|
||||
}
|
||||
|
||||
fn item_proc_macro(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, m: &clean::ProcMacro) {
|
||||
let name = it.name.as_ref().expect("proc-macros always have names");
|
||||
match m.kind {
|
||||
MacroKind::Bang => {
|
||||
wrap_item(w, "macro", |w| {
|
||||
write!(w, "{}!() {{ /* proc-macro */ }}", name);
|
||||
});
|
||||
}
|
||||
MacroKind::Attr => {
|
||||
wrap_item(w, "attr", |w| {
|
||||
write!(w, "#[{}]", name);
|
||||
});
|
||||
}
|
||||
MacroKind::Derive => {
|
||||
wrap_item(w, "derive", |w| {
|
||||
write!(w, "#[derive({})]", name);
|
||||
if !m.helpers.is_empty() {
|
||||
w.push_str("\n{\n");
|
||||
w.push_str(" // Attributes available to this derive:\n");
|
||||
for attr in &m.helpers {
|
||||
writeln!(w, " #[{}]", attr);
|
||||
wrap_into_docblock(w, |w| {
|
||||
let name = it.name.as_ref().expect("proc-macros always have names");
|
||||
match m.kind {
|
||||
MacroKind::Bang => {
|
||||
wrap_item(w, "macro", |w| {
|
||||
write!(w, "{}!() {{ /* proc-macro */ }}", name);
|
||||
});
|
||||
}
|
||||
MacroKind::Attr => {
|
||||
wrap_item(w, "attr", |w| {
|
||||
write!(w, "#[{}]", name);
|
||||
});
|
||||
}
|
||||
MacroKind::Derive => {
|
||||
wrap_item(w, "derive", |w| {
|
||||
write!(w, "#[derive({})]", name);
|
||||
if !m.helpers.is_empty() {
|
||||
w.push_str("\n{\n");
|
||||
w.push_str(" // Attributes available to this derive:\n");
|
||||
for attr in &m.helpers {
|
||||
writeln!(w, " #[{}]", attr);
|
||||
}
|
||||
w.push_str("}\n");
|
||||
}
|
||||
w.push_str("}\n");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
document(w, cx, it, None, HeadingOffset::H2)
|
||||
}
|
||||
|
||||
@ -1177,38 +1202,40 @@ fn item_primitive(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item) {
|
||||
}
|
||||
|
||||
fn item_constant(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, c: &clean::Constant) {
|
||||
wrap_item(w, "const", |w| {
|
||||
render_attributes_in_code(w, it);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "const", |w| {
|
||||
render_attributes_in_code(w, it);
|
||||
|
||||
write!(
|
||||
w,
|
||||
"{vis}const {name}: {typ}",
|
||||
vis = it.visibility.print_with_space(it.def_id, cx),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = c.type_.print(cx),
|
||||
);
|
||||
write!(
|
||||
w,
|
||||
"{vis}const {name}: {typ}",
|
||||
vis = it.visibility.print_with_space(it.def_id, cx),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = c.type_.print(cx),
|
||||
);
|
||||
|
||||
let value = c.value(cx.tcx());
|
||||
let is_literal = c.is_literal(cx.tcx());
|
||||
let expr = c.expr(cx.tcx());
|
||||
if value.is_some() || is_literal {
|
||||
write!(w, " = {expr};", expr = Escape(&expr));
|
||||
} else {
|
||||
w.write_str(";");
|
||||
}
|
||||
let value = c.value(cx.tcx());
|
||||
let is_literal = c.is_literal(cx.tcx());
|
||||
let expr = c.expr(cx.tcx());
|
||||
if value.is_some() || is_literal {
|
||||
write!(w, " = {expr};", expr = Escape(&expr));
|
||||
} else {
|
||||
w.write_str(";");
|
||||
}
|
||||
|
||||
if !is_literal {
|
||||
if let Some(value) = &value {
|
||||
let value_lowercase = value.to_lowercase();
|
||||
let expr_lowercase = expr.to_lowercase();
|
||||
if !is_literal {
|
||||
if let Some(value) = &value {
|
||||
let value_lowercase = value.to_lowercase();
|
||||
let expr_lowercase = expr.to_lowercase();
|
||||
|
||||
if value_lowercase != expr_lowercase
|
||||
&& value_lowercase.trim_end_matches("i32") != expr_lowercase
|
||||
{
|
||||
write!(w, " // {value}", value = Escape(value));
|
||||
if value_lowercase != expr_lowercase
|
||||
&& value_lowercase.trim_end_matches("i32") != expr_lowercase
|
||||
{
|
||||
write!(w, " // {value}", value = Escape(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
document(w, cx, it, None, HeadingOffset::H2)
|
||||
@ -1268,30 +1295,34 @@ fn item_struct(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, s: &clean::St
|
||||
}
|
||||
|
||||
fn item_static(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, s: &clean::Static) {
|
||||
wrap_item(w, "static", |w| {
|
||||
render_attributes_in_code(w, it);
|
||||
write!(
|
||||
w,
|
||||
"{vis}static {mutability}{name}: {typ}",
|
||||
vis = it.visibility.print_with_space(it.def_id, cx),
|
||||
mutability = s.mutability.print_with_space(),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = s.type_.print(cx)
|
||||
);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "static", |w| {
|
||||
render_attributes_in_code(w, it);
|
||||
write!(
|
||||
w,
|
||||
"{vis}static {mutability}{name}: {typ}",
|
||||
vis = it.visibility.print_with_space(it.def_id, cx),
|
||||
mutability = s.mutability.print_with_space(),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
typ = s.type_.print(cx)
|
||||
);
|
||||
});
|
||||
});
|
||||
document(w, cx, it, None, HeadingOffset::H2)
|
||||
}
|
||||
|
||||
fn item_foreign_type(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item) {
|
||||
wrap_item(w, "foreigntype", |w| {
|
||||
w.write_str("extern {\n");
|
||||
render_attributes_in_code(w, it);
|
||||
write!(
|
||||
w,
|
||||
" {}type {};\n}}",
|
||||
it.visibility.print_with_space(it.def_id, cx),
|
||||
it.name.as_ref().unwrap(),
|
||||
);
|
||||
wrap_into_docblock(w, |w| {
|
||||
wrap_item(w, "foreigntype", |w| {
|
||||
w.write_str("extern {\n");
|
||||
render_attributes_in_code(w, it);
|
||||
write!(
|
||||
w,
|
||||
" {}type {};\n}}",
|
||||
it.visibility.print_with_space(it.def_id, cx),
|
||||
it.name.as_ref().unwrap(),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
document(w, cx, it, None, HeadingOffset::H2);
|
||||
@ -1374,7 +1405,7 @@ fn wrap_into_docblock<F>(w: &mut Buffer, f: F)
|
||||
where
|
||||
F: FnOnce(&mut Buffer),
|
||||
{
|
||||
w.write_str("<div class=\"docblock type-decl\">");
|
||||
w.write_str("<div class=\"docblock item-decl\">");
|
||||
f(w);
|
||||
w.write_str("</div>")
|
||||
}
|
||||
|
@ -253,7 +253,10 @@ code, pre, a.test-arrow, .code-header {
|
||||
pre {
|
||||
padding: 14px;
|
||||
}
|
||||
.type-decl pre {
|
||||
.docblock.item-decl {
|
||||
margin-left: 0;
|
||||
}
|
||||
.item-decl pre {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
|
@ -220,7 +220,7 @@ body.source .example-wrap pre.rust a {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock:not(.item-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock-short a:not(.srclink):not(.test-arrow), .item-info a,
|
||||
#help a {
|
||||
color: #39AFD7;
|
||||
|
@ -181,7 +181,7 @@ body.source .example-wrap pre.rust a {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock:not(.item-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock-short a:not(.srclink):not(.test-arrow), .item-info a,
|
||||
#help a {
|
||||
color: #D2991D;
|
||||
|
@ -176,7 +176,7 @@ body.source .example-wrap pre.rust a {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock:not(.item-decl) a:not(.srclink):not(.test-arrow),
|
||||
.docblock-short a:not(.srclink):not(.test-arrow), .item-info a,
|
||||
#help a {
|
||||
color: #3873AD;
|
||||
|
@ -1,4 +1,4 @@
|
||||
goto: file://|DOC_PATH|/test_docs/index.html
|
||||
assert: ("#functions")
|
||||
goto: ./struct.Foo.html
|
||||
assert: ("div.type-decl")
|
||||
assert: ("div.item-decl")
|
||||
|
@ -1,6 +1,6 @@
|
||||
goto: file://|DOC_PATH|/lib2/struct.Foo.html
|
||||
// This test checks that the font weight is correctly applied.
|
||||
assert-css: ("//*[@class='docblock type-decl']//a[text()='Alias']", {"font-weight": "400"})
|
||||
assert-css: ("//*[@class='docblock item-decl']//a[text()='Alias']", {"font-weight": "400"})
|
||||
assert-css: ("//*[@class='structfield small-section-header']//a[text()='Alias']", {"font-weight": "400"})
|
||||
assert-css: ("#method\.a_method > .code-header", {"font-weight": "600"})
|
||||
assert-css: ("#associatedtype\.X > .code-header", {"font-weight": "600"})
|
||||
@ -16,7 +16,7 @@ goto: file://|DOC_PATH|/lib2/trait.Trait.html
|
||||
|
||||
// This is a complex selector, so here's how it works:
|
||||
//
|
||||
// * //*[@class='docblock type-decl'] — selects element of any tag with classes docblock and type-decl
|
||||
// * //*[@class='docblock item-decl'] — selects element of any tag with classes docblock and item-decl
|
||||
// * /pre[@class='rust trait'] — selects immediate child with tag pre and classes rust and trait
|
||||
// * /code — selects immediate child with tag code
|
||||
// * /a[@class='constant'] — selects immediate child with tag a and class constant
|
||||
@ -25,8 +25,8 @@ goto: file://|DOC_PATH|/lib2/trait.Trait.html
|
||||
//
|
||||
// This uses '/parent::*' as a proxy for the style of the text node.
|
||||
// We can't just select the '<a>' because intermediate tags could be added.
|
||||
assert-count: ("//*[@class='docblock type-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*", 1)
|
||||
assert-css: ("//*[@class='docblock type-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*", {"font-weight": "400"})
|
||||
assert-count: ("//*[@class='docblock item-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*", 1)
|
||||
assert-css: ("//*[@class='docblock item-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*", {"font-weight": "400"})
|
||||
|
||||
assert-count: (".methods .type", 1)
|
||||
assert-css: (".methods .type", {"font-weight": "600"})
|
||||
|
@ -5,4 +5,4 @@ size: (1100, 800)
|
||||
// Logically, the <body> scroll width should be the width of the window.
|
||||
assert-property: ("body", {"scrollWidth": "1100"})
|
||||
// However, since there is overflow in the type declaration, its scroll width is bigger.
|
||||
assert-property: (".type-decl pre", {"scrollWidth": "1324"})
|
||||
assert-property: (".item-decl pre", {"scrollWidth": "1324"})
|
||||
|
@ -8,6 +8,6 @@ pub extern "C" fn f() {}
|
||||
#[export_name = "bar"]
|
||||
pub extern "C" fn g() {}
|
||||
|
||||
// @has foo/struct.Repr.html '//*[@class="docblock type-decl"]' '#[repr(C, align(8))]'
|
||||
// @has foo/struct.Repr.html '//*[@class="docblock item-decl"]' '#[repr(C, align(8))]'
|
||||
#[repr(C, align(8))]
|
||||
pub struct Repr;
|
||||
|
@ -5,25 +5,25 @@
|
||||
|
||||
extern crate reexports;
|
||||
|
||||
// @has 'foo/macro.addr_of.html' '//*[@class="docblock type-decl"]' 'pub macro addr_of($place : expr) {'
|
||||
// @has 'foo/macro.addr_of.html' '//*[@class="docblock item-decl"]' 'pub macro addr_of($place : expr) {'
|
||||
pub use reexports::addr_of;
|
||||
// @has 'foo/macro.addr_of_crate.html' '//*[@class="docblock type-decl"]' 'pub(crate) macro addr_of_crate($place : expr) {'
|
||||
// @has 'foo/macro.addr_of_crate.html' '//*[@class="docblock item-decl"]' 'pub(crate) macro addr_of_crate($place : expr) {'
|
||||
pub(crate) use reexports::addr_of_crate;
|
||||
// @has 'foo/macro.addr_of_self.html' '//*[@class="docblock type-decl"]' 'pub(crate) macro addr_of_self($place : expr) {'
|
||||
// @has 'foo/macro.addr_of_self.html' '//*[@class="docblock item-decl"]' 'pub(crate) macro addr_of_self($place : expr) {'
|
||||
pub(self) use reexports::addr_of_self;
|
||||
|
||||
// @has 'foo/struct.Foo.html' '//*[@class="docblock type-decl"]' 'pub struct Foo;'
|
||||
// @has 'foo/struct.Foo.html' '//*[@class="docblock item-decl"]' 'pub struct Foo;'
|
||||
pub use reexports::Foo;
|
||||
// @has 'foo/struct.FooCrate.html' '//*[@class="docblock type-decl"]' 'pub(crate) struct FooCrate;'
|
||||
// @has 'foo/struct.FooCrate.html' '//*[@class="docblock item-decl"]' 'pub(crate) struct FooCrate;'
|
||||
pub(crate) use reexports::FooCrate;
|
||||
// @has 'foo/struct.FooSelf.html' '//*[@class="docblock type-decl"]' 'pub(crate) struct FooSelf;'
|
||||
// @has 'foo/struct.FooSelf.html' '//*[@class="docblock item-decl"]' 'pub(crate) struct FooSelf;'
|
||||
pub(self) use reexports::FooSelf;
|
||||
|
||||
// @has 'foo/enum.Bar.html' '//*[@class="docblock type-decl"]' 'pub enum Bar {'
|
||||
// @has 'foo/enum.Bar.html' '//*[@class="docblock item-decl"]' 'pub enum Bar {'
|
||||
pub use reexports::Bar;
|
||||
// @has 'foo/enum.BarCrate.html' '//*[@class="docblock type-decl"]' 'pub(crate) enum BarCrate {'
|
||||
// @has 'foo/enum.BarCrate.html' '//*[@class="docblock item-decl"]' 'pub(crate) enum BarCrate {'
|
||||
pub(crate) use reexports::BarCrate;
|
||||
// @has 'foo/enum.BarSelf.html' '//*[@class="docblock type-decl"]' 'pub(crate) enum BarSelf {'
|
||||
// @has 'foo/enum.BarSelf.html' '//*[@class="docblock item-decl"]' 'pub(crate) enum BarSelf {'
|
||||
pub(self) use reexports::BarSelf;
|
||||
|
||||
// @has 'foo/fn.foo.html' '//*[@class="rust fn"]' 'pub fn foo()'
|
||||
@ -40,11 +40,11 @@ pub(crate) use reexports::TypeCrate;
|
||||
// @has 'foo/type.TypeSelf.html' '//*[@class="rust typedef"]' 'pub(crate) type TypeSelf ='
|
||||
pub(self) use reexports::TypeSelf;
|
||||
|
||||
// @has 'foo/union.Union.html' '//*[@class="docblock type-decl"]' 'pub union Union {'
|
||||
// @has 'foo/union.Union.html' '//*[@class="docblock item-decl"]' 'pub union Union {'
|
||||
pub use reexports::Union;
|
||||
// @has 'foo/union.UnionCrate.html' '//*[@class="docblock type-decl"]' 'pub(crate) union UnionCrate {'
|
||||
// @has 'foo/union.UnionCrate.html' '//*[@class="docblock item-decl"]' 'pub(crate) union UnionCrate {'
|
||||
pub(crate) use reexports::UnionCrate;
|
||||
// @has 'foo/union.UnionSelf.html' '//*[@class="docblock type-decl"]' 'pub(crate) union UnionSelf {'
|
||||
// @has 'foo/union.UnionSelf.html' '//*[@class="docblock item-decl"]' 'pub(crate) union UnionSelf {'
|
||||
pub(self) use reexports::UnionSelf;
|
||||
|
||||
pub mod foo {
|
||||
|
@ -4,21 +4,21 @@
|
||||
|
||||
extern crate reexports;
|
||||
|
||||
// @has 'foo/macro.addr_of.html' '//*[@class="docblock type-decl"]' 'pub macro addr_of($place : expr) {'
|
||||
// @has 'foo/macro.addr_of.html' '//*[@class="docblock item-decl"]' 'pub macro addr_of($place : expr) {'
|
||||
pub use reexports::addr_of;
|
||||
// @!has 'foo/macro.addr_of_crate.html'
|
||||
pub(crate) use reexports::addr_of_crate;
|
||||
// @!has 'foo/macro.addr_of_self.html'
|
||||
pub(self) use reexports::addr_of_self;
|
||||
|
||||
// @has 'foo/struct.Foo.html' '//*[@class="docblock type-decl"]' 'pub struct Foo;'
|
||||
// @has 'foo/struct.Foo.html' '//*[@class="docblock item-decl"]' 'pub struct Foo;'
|
||||
pub use reexports::Foo;
|
||||
// @!has 'foo/struct.FooCrate.html'
|
||||
pub(crate) use reexports::FooCrate;
|
||||
// @!has 'foo/struct.FooSelf.html'
|
||||
pub(self) use reexports::FooSelf;
|
||||
|
||||
// @has 'foo/enum.Bar.html' '//*[@class="docblock type-decl"]' 'pub enum Bar {'
|
||||
// @has 'foo/enum.Bar.html' '//*[@class="docblock item-decl"]' 'pub enum Bar {'
|
||||
pub use reexports::Bar;
|
||||
// @!has 'foo/enum.BarCrate.html'
|
||||
pub(crate) use reexports::BarCrate;
|
||||
@ -39,7 +39,7 @@ pub(crate) use reexports::TypeCrate;
|
||||
// @!has 'foo/type.TypeSelf.html'
|
||||
pub(self) use reexports::TypeSelf;
|
||||
|
||||
// @has 'foo/union.Union.html' '//*[@class="docblock type-decl"]' 'pub union Union {'
|
||||
// @has 'foo/union.Union.html' '//*[@class="docblock item-decl"]' 'pub union Union {'
|
||||
pub use reexports::Union;
|
||||
// @!has 'foo/union.UnionCrate.html'
|
||||
pub(crate) use reexports::UnionCrate;
|
||||
|
@ -55,7 +55,7 @@ pub union Union {
|
||||
|
||||
// @has 'toggle_item_contents/struct.PrivStruct.html'
|
||||
// @count - '//details[@class="rustdoc-toggle type-contents-toggle"]' 0
|
||||
// @has - '//div[@class="docblock type-decl"]' 'fields omitted'
|
||||
// @has - '//div[@class="docblock item-decl"]' 'fields omitted'
|
||||
pub struct PrivStruct {
|
||||
a: usize,
|
||||
b: usize,
|
||||
|
@ -13,11 +13,14 @@ use std::fmt::Debug;
|
||||
// @has foo/index.html '//a[@class="traitalias"]' 'Alias2'
|
||||
// @has foo/index.html '//a[@class="traitalias"]' 'Foo'
|
||||
|
||||
// @has foo/traitalias.CopyAlias.html '//section[@id="main"]/pre' 'trait CopyAlias = Copy;'
|
||||
// @has foo/traitalias.CopyAlias.html
|
||||
// @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait CopyAlias = Copy;'
|
||||
pub trait CopyAlias = Copy;
|
||||
// @has foo/traitalias.Alias2.html '//section[@id="main"]/pre' 'trait Alias2 = Copy + Debug;'
|
||||
// @has foo/traitalias.Alias2.html
|
||||
// @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait Alias2 = Copy + Debug;'
|
||||
pub trait Alias2 = Copy + Debug;
|
||||
// @has foo/traitalias.Foo.html '//section[@id="main"]/pre' 'trait Foo<T> = Into<T> + Debug;'
|
||||
// @has foo/traitalias.Foo.html
|
||||
// @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait Foo<T> = Into<T> + Debug;'
|
||||
pub trait Foo<T> = Into<T> + Debug;
|
||||
// @has foo/fn.bar.html '//a[@href="traitalias.Alias2.html"]' 'Alias2'
|
||||
pub fn bar<T>() where T: Alias2 {}
|
||||
|
Loading…
Reference in New Issue
Block a user