Skip to content

Commit 1292e51

Browse files
Improve code
1 parent 43815a5 commit 1292e51

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

src/librustdoc/html/render.rs

+20-21
Original file line numberDiff line numberDiff line change
@@ -1440,23 +1440,23 @@ impl AllTypes {
14401440
}
14411441
}
14421442

1443-
fn append(&mut self, item_name: String, item_type: &str) {
1443+
fn append(&mut self, item_name: String, item_type: &ItemType) {
14441444
let mut url: Vec<_> = item_name.split("::").skip(1).collect();
14451445
if let Some(name) = url.pop() {
14461446
let new_url = format!("{}/{}.{}.html", url.join("/"), item_type, name);
14471447
url.push(name);
14481448
let name = url.join("::");
1449-
match item_type {
1450-
"struct" => self.structs.insert(ItemEntry::new(new_url, name)),
1451-
"enum" => self.enums.insert(ItemEntry::new(new_url, name)),
1452-
"union" => self.unions.insert(ItemEntry::new(new_url, name)),
1453-
"primitive" => self.primitives.insert(ItemEntry::new(new_url, name)),
1454-
"trait" => self.traits.insert(ItemEntry::new(new_url, name)),
1455-
"macro" => self.macros.insert(ItemEntry::new(new_url, name)),
1456-
"fn" => self.functions.insert(ItemEntry::new(new_url, name)),
1457-
"typedef" => self.typedefs.insert(ItemEntry::new(new_url, name)),
1458-
"static" => self.statics.insert(ItemEntry::new(new_url, name)),
1459-
"constant" => self.constants.insert(ItemEntry::new(new_url, name)),
1449+
match *item_type {
1450+
ItemType::Struct => self.structs.insert(ItemEntry::new(new_url, name)),
1451+
ItemType::Enum => self.enums.insert(ItemEntry::new(new_url, name)),
1452+
ItemType::Union => self.unions.insert(ItemEntry::new(new_url, name)),
1453+
ItemType::Primitive => self.primitives.insert(ItemEntry::new(new_url, name)),
1454+
ItemType::Trait => self.traits.insert(ItemEntry::new(new_url, name)),
1455+
ItemType::Macro => self.macros.insert(ItemEntry::new(new_url, name)),
1456+
ItemType::Function => self.functions.insert(ItemEntry::new(new_url, name)),
1457+
ItemType::Typedef => self.typedefs.insert(ItemEntry::new(new_url, name)),
1458+
ItemType::Static => self.statics.insert(ItemEntry::new(new_url, name)),
1459+
ItemType::Constant => self.constants.insert(ItemEntry::new(new_url, name)),
14601460
_ => true,
14611461
};
14621462
}
@@ -1562,8 +1562,7 @@ impl Context {
15621562
}
15631563
}
15641564

1565-
let mut w = BufWriter::new(File::create(&final_file)
1566-
.expect("failed to create all.html"));
1565+
let mut w = BufWriter::new(try_err!(File::create(&final_file), &final_file));
15671566
let mut root_path = self.dst.to_str().expect("invalid path").to_owned();
15681567
if !root_path.ends_with('/') {
15691568
root_path.push('/');
@@ -1586,10 +1585,11 @@ impl Context {
15861585
} else {
15871586
String::new()
15881587
};
1589-
layout::render(&mut w, &self.shared.layout,
1590-
&page, &sidebar, &all,
1591-
self.shared.css_file_extension.is_some(),
1592-
&self.shared.themes).expect("layout rendering failed");
1588+
try_err!(layout::render(&mut w, &self.shared.layout,
1589+
&page, &sidebar, &all,
1590+
self.shared.css_file_extension.is_some(),
1591+
&self.shared.themes),
1592+
&final_file);
15931593
Ok(())
15941594
}
15951595

@@ -1728,7 +1728,7 @@ impl Context {
17281728
let mut dst = try_err!(File::create(&joint_dst), &joint_dst);
17291729
try_err!(dst.write_all(&buf), &joint_dst);
17301730

1731-
all.append(full_path(self, &item), item_type.css_class());
1731+
all.append(full_path(self, &item), &item_type);
17321732
// Redirect from a sane URL using the namespace to Rustdoc's
17331733
// URL for the page.
17341734
let redir_name = format!("{}.{}.html", name, item_type.name_space());
@@ -3733,9 +3733,8 @@ impl<'a> fmt::Display for Sidebar<'a> {
37333733
"<div class='block version'>\
37343734
<p>Version {}</p>\
37353735
</div>
3736-
<a id='all-types' href='all{}.html'><p>See all {}'s items</p></a>",
3736+
<a id='all-types' href='all.html'><p>See all {}'s items</p></a>",
37373737
version,
3738-
cx.shared.resource_suffix,
37393738
it.name.as_ref().unwrap())?;
37403739
}
37413740
}

0 commit comments

Comments
 (0)