Skip to content

Commit d33180e

Browse files
authored
Rollup merge of #71918 - GuillaumeGomez:rename-methods-section, r=Dylan-DPC
Rename methods section Fixes #70475. It renames the section [methods](https://doc.rust-lang.org/nightly/std/string/struct.String.html#methods) into "Implementations". However, I didn't not update the title in the sidebar considering that it only lists methods under (even though I updated the link of the "methods" to make it point to the "implementations" section. r? @kinnison cc @rust-lang/rustdoc
2 parents f7c3b0c + a64d643 commit d33180e

File tree

13 files changed

+66
-30
lines changed

13 files changed

+66
-30
lines changed

src/librustdoc/html/markdown.rs

+29-2
Original file line numberDiff line numberDiff line change
@@ -1129,9 +1129,36 @@ pub struct IdMap {
11291129
map: FxHashMap<String, usize>,
11301130
}
11311131

1132+
fn init_id_map() -> FxHashMap<String, usize> {
1133+
let mut map = FxHashMap::default();
1134+
// This is the list of IDs used by rustdoc templates.
1135+
map.insert("mainThemeStyle".to_owned(), 1);
1136+
map.insert("themeStyle".to_owned(), 1);
1137+
map.insert("theme-picker".to_owned(), 1);
1138+
map.insert("theme-choices".to_owned(), 1);
1139+
map.insert("settings-menu".to_owned(), 1);
1140+
map.insert("main".to_owned(), 1);
1141+
map.insert("search".to_owned(), 1);
1142+
map.insert("crate-search".to_owned(), 1);
1143+
map.insert("render-detail".to_owned(), 1);
1144+
map.insert("toggle-all-docs".to_owned(), 1);
1145+
map.insert("all-types".to_owned(), 1);
1146+
// This is the list of IDs used by rustdoc sections.
1147+
map.insert("fields".to_owned(), 1);
1148+
map.insert("variants".to_owned(), 1);
1149+
map.insert("implementors-list".to_owned(), 1);
1150+
map.insert("synthetic-implementors-list".to_owned(), 1);
1151+
map.insert("implementations".to_owned(), 1);
1152+
map.insert("trait-implementations".to_owned(), 1);
1153+
map.insert("synthetic-implementations".to_owned(), 1);
1154+
map.insert("blanket-implementations".to_owned(), 1);
1155+
map.insert("deref-methods".to_owned(), 1);
1156+
map
1157+
}
1158+
11321159
impl IdMap {
11331160
pub fn new() -> Self {
1134-
IdMap::default()
1161+
IdMap { map: init_id_map() }
11351162
}
11361163

11371164
pub fn populate<I: IntoIterator<Item = String>>(&mut self, ids: I) {
@@ -1141,7 +1168,7 @@ impl IdMap {
11411168
}
11421169

11431170
pub fn reset(&mut self) {
1144-
self.map = FxHashMap::default();
1171+
self.map = init_id_map();
11451172
}
11461173

11471174
pub fn derive(&mut self, candidate: String) -> String {

src/librustdoc/html/markdown/tests.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ fn test_unique_id() {
2929
"examples-2",
3030
"method.into_iter-1",
3131
"foo-1",
32-
"main",
33-
"search",
32+
"main-1",
33+
"search-1",
3434
"methods",
3535
"examples-3",
3636
"method.into_iter-2",
@@ -191,8 +191,8 @@ fn test_header_ids_multiple_blocks() {
191191
t(
192192
&mut map,
193193
"# Main",
194-
"<h1 id=\"main\" class=\"section-header\">\
195-
<a href=\"#main\">Main</a></h1>",
194+
"<h1 id=\"main-1\" class=\"section-header\">\
195+
<a href=\"#main-1\">Main</a></h1>",
196196
);
197197
t(
198198
&mut map,

src/librustdoc/html/render.rs

+11-11
Original file line numberDiff line numberDiff line change
@@ -3413,8 +3413,8 @@ fn render_assoc_items(
34133413
write!(
34143414
w,
34153415
"\
3416-
<h2 id='methods' class='small-section-header'>\
3417-
Methods<a href='#methods' class='anchor'></a>\
3416+
<h2 id='implementations' class='small-section-header'>\
3417+
Implementations<a href='#implementations' class='anchor'></a>\
34183418
</h2>\
34193419
"
34203420
);
@@ -3475,10 +3475,10 @@ fn render_assoc_items(
34753475
write!(
34763476
w,
34773477
"\
3478-
<h2 id='implementations' class='small-section-header'>\
3479-
Trait Implementations<a href='#implementations' class='anchor'></a>\
3478+
<h2 id='trait-implementations' class='small-section-header'>\
3479+
Trait Implementations<a href='#trait-implementations' class='anchor'></a>\
34803480
</h2>\
3481-
<div id='implementations-list'>{}</div>",
3481+
<div id='trait-implementations-list'>{}</div>",
34823482
impls
34833483
);
34843484
}
@@ -4097,8 +4097,8 @@ fn sidebar_assoc_items(it: &clean::Item) -> String {
40974097
ret.sort();
40984098
if !ret.is_empty() {
40994099
out.push_str(&format!(
4100-
"<a class=\"sidebar-title\" href=\"#methods\">Methods\
4101-
</a><div class=\"sidebar-links\">{}</div>",
4100+
"<a class=\"sidebar-title\" href=\"#implementations\">Methods</a>\
4101+
<div class=\"sidebar-links\">{}</div>",
41024102
ret.join("")
41034103
));
41044104
}
@@ -4191,24 +4191,24 @@ fn sidebar_assoc_items(it: &clean::Item) -> String {
41914191

41924192
if !concrete_format.is_empty() {
41934193
out.push_str(
4194-
"<a class=\"sidebar-title\" href=\"#implementations\">\
4195-
Trait Implementations</a>",
4194+
"<a class=\"sidebar-title\" href=\"#trait-implementations\">\
4195+
Trait Implementations</a>",
41964196
);
41974197
out.push_str(&format!("<div class=\"sidebar-links\">{}</div>", concrete_format));
41984198
}
41994199

42004200
if !synthetic_format.is_empty() {
42014201
out.push_str(
42024202
"<a class=\"sidebar-title\" href=\"#synthetic-implementations\">\
4203-
Auto Trait Implementations</a>",
4203+
Auto Trait Implementations</a>",
42044204
);
42054205
out.push_str(&format!("<div class=\"sidebar-links\">{}</div>", synthetic_format));
42064206
}
42074207

42084208
if !blanket_format.is_empty() {
42094209
out.push_str(
42104210
"<a class=\"sidebar-title\" href=\"#blanket-implementations\">\
4211-
Blanket Implementations</a>",
4211+
Blanket Implementations</a>",
42124212
);
42134213
out.push_str(&format!("<div class=\"sidebar-links\">{}</div>", blanket_format));
42144214
}

src/librustdoc/html/static/main.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2180,7 +2180,7 @@ function getSearchElement() {
21802180
if (collapse) {
21812181
toggleAllDocs(pageId, true);
21822182
} else if (getCurrentValue("rustdoc-auto-hide-trait-implementations") !== "false") {
2183-
var impl_list = document.getElementById("implementations-list");
2183+
var impl_list = document.getElementById("trait-implementations-list");
21842184

21852185
if (impl_list !== null) {
21862186
onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {

src/test/rustdoc/const-generics/add-impl.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub struct Simd<T, const WIDTH: usize> {
1111
inner: T,
1212
}
1313

14-
// @has foo/struct.Simd.html '//div[@id="implementations-list"]/h3/code' 'impl Add<Simd<u8, 16usize>> for Simd<u8, 16>'
14+
// @has foo/struct.Simd.html '//div[@id="trait-implementations-list"]/h3/code' 'impl Add<Simd<u8, 16usize>> for Simd<u8, 16>'
1515
impl Add for Simd<u8, 16> {
1616
type Output = Self;
1717

src/test/rustdoc/duplicate_impls/issue-33054.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @has issue_33054/impls/struct.Foo.html
22
// @has - '//code' 'impl Foo'
33
// @has - '//code' 'impl Bar for Foo'
4-
// @count - '//*[@id="implementations-list"]/*[@class="impl"]' 1
4+
// @count - '//*[@id="trait-implementations-list"]/*[@class="impl"]' 1
55
// @count - '//*[@id="main"]/*[@class="impl"]' 1
66
// @has issue_33054/impls/bar/trait.Bar.html
77
// @has - '//code' 'impl Bar for Foo'

src/test/rustdoc/issue-21474.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ mod inner {
77
pub trait Blah { }
88

99
// @count issue_21474/struct.What.html \
10-
// '//*[@id="implementations-list"]/*[@class="impl"]' 1
10+
// '//*[@id="trait-implementations-list"]/*[@class="impl"]' 1
1111
pub struct What;

src/test/rustdoc/issue-45584.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ pub trait Bar<T, U> {}
44

55
// @has 'foo/struct.Foo1.html'
66
pub struct Foo1;
7-
// @count - '//*[@id="implementations-list"]/*[@class="impl"]' 1
7+
// @count - '//*[@id="trait-implementations-list"]/*[@class="impl"]' 1
88
// @has - '//*[@class="impl"]' "impl Bar<Foo1, &'static Foo1> for Foo1"
99
impl Bar<Foo1, &'static Foo1> for Foo1 {}
1010

1111
// @has 'foo/struct.Foo2.html'
1212
pub struct Foo2;
13-
// @count - '//*[@id="implementations-list"]/*[@class="impl"]' 1
13+
// @count - '//*[@id="trait-implementations-list"]/*[@class="impl"]' 1
1414
// @has - '//*[@class="impl"]' "impl Bar<&'static Foo2, Foo2> for u8"
1515
impl Bar<&'static Foo2, Foo2> for u8 {}

src/test/rustdoc/issue-55321.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#![feature(negative_impls)]
22

33
// @has issue_55321/struct.A.html
4-
// @has - '//*[@id="implementations-list"]/*[@class="impl"]//code' "impl !Send for A"
5-
// @has - '//*[@id="implementations-list"]/*[@class="impl"]//code' "impl !Sync for A"
4+
// @has - '//*[@id="trait-implementations-list"]/*[@class="impl"]//code' "impl !Send for A"
5+
// @has - '//*[@id="trait-implementations-list"]/*[@class="impl"]//code' "impl !Sync for A"
66
pub struct A();
77

88
impl !Send for A {}

src/test/rustdoc/negative-impl-sidebar.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
pub struct Foo;
55

66
// @has foo/struct.Foo.html
7-
// @has - '//*[@class="sidebar-title"][@href="#implementations"]' 'Trait Implementations'
7+
// @has - '//*[@class="sidebar-title"][@href="#trait-implementations"]' 'Trait Implementations'
88
// @has - '//*[@class="sidebar-links"]/a' '!Sync'
99
impl !Sync for Foo {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#![crate_name = "foo"]
2+
3+
pub struct Struc;
4+
5+
// @has foo/struct.Struc.html
6+
// @has - '//*[@id="main"]/h2[@id="implementations"]' "Implementations"
7+
impl Struc {
8+
pub const S: u64 = 0;
9+
}

src/test/rustdoc/synthetic_auto/manual.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
// @has - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]//code' 'impl<T> Sync for \
33
// Foo<T> where T: Sync'
44
//
5-
// @has - '//*[@id="implementations-list"]/*[@class="impl"]//code' \
5+
// @has - '//*[@id="trait-implementations-list"]/*[@class="impl"]//code' \
66
// 'impl<T> Send for Foo<T>'
77
//
8-
// @count - '//*[@id="implementations-list"]/*[@class="impl"]' 1
8+
// @count - '//*[@id="trait-implementations-list"]/*[@class="impl"]' 1
99
// @count - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]' 4
1010
pub struct Foo<T> {
1111
field: T,

src/test/rustdoc/typedef.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ impl MyStruct {
1313
// @has - '//*[@class="impl"]//code' 'impl MyTrait for MyAlias'
1414
// @has - 'Alias docstring'
1515
// @has - '//*[@class="sidebar"]//p[@class="location"]' 'Type Definition MyAlias'
16-
// @has - '//*[@class="sidebar"]//a[@href="#methods"]' 'Methods'
17-
// @has - '//*[@class="sidebar"]//a[@href="#implementations"]' 'Trait Implementations'
16+
// @has - '//*[@class="sidebar"]//a[@href="#implementations"]' 'Methods'
17+
// @has - '//*[@class="sidebar"]//a[@href="#trait-implementations"]' 'Trait Implementations'
1818
/// Alias docstring
1919
pub type MyAlias = MyStruct;
2020

0 commit comments

Comments
 (0)