@@ -1440,23 +1440,23 @@ impl AllTypes {
1440
1440
}
1441
1441
}
1442
1442
1443
- fn append(&mut self, item_name: String, item_type: &str ) {
1443
+ fn append(&mut self, item_name: String, item_type: &ItemType ) {
1444
1444
let mut url: Vec<_> = item_name.split("::").skip(1).collect();
1445
1445
if let Some(name) = url.pop() {
1446
1446
let new_url = format!("{}/{}.{}.html", url.join("/"), item_type, name);
1447
1447
url.push(name);
1448
1448
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)),
1460
1460
_ => true,
1461
1461
};
1462
1462
}
@@ -1562,8 +1562,7 @@ impl Context {
1562
1562
}
1563
1563
}
1564
1564
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));
1567
1566
let mut root_path = self.dst.to_str().expect("invalid path").to_owned();
1568
1567
if !root_path.ends_with('/') {
1569
1568
root_path.push('/');
@@ -1586,10 +1585,11 @@ impl Context {
1586
1585
} else {
1587
1586
String::new()
1588
1587
};
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);
1593
1593
Ok(())
1594
1594
}
1595
1595
@@ -1728,7 +1728,7 @@ impl Context {
1728
1728
let mut dst = try_err!(File::create(&joint_dst), &joint_dst);
1729
1729
try_err!(dst.write_all(&buf), &joint_dst);
1730
1730
1731
- all.append(full_path(self, &item), item_type.css_class() );
1731
+ all.append(full_path(self, &item), & item_type);
1732
1732
// Redirect from a sane URL using the namespace to Rustdoc's
1733
1733
// URL for the page.
1734
1734
let redir_name = format!("{}.{}.html", name, item_type.name_space());
@@ -3733,9 +3733,8 @@ impl<'a> fmt::Display for Sidebar<'a> {
3733
3733
"<div class='block version'>\
3734
3734
<p>Version {}</p>\
3735
3735
</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>",
3737
3737
version,
3738
- cx.shared.resource_suffix,
3739
3738
it.name.as_ref().unwrap())?;
3740
3739
}
3741
3740
}
0 commit comments