diff --git a/lib/docs/filters/rust/clean_html.rb b/lib/docs/filters/rust/clean_html.rb
index f309a76b..975dd943 100644
--- a/lib/docs/filters/rust/clean_html.rb
+++ b/lib/docs/filters/rust/clean_html.rb
@@ -4,7 +4,7 @@ module Docs
def call
if slug.start_with?('book')
book
- elsif slug.start_with?('reference')
+ elsif slug.start_with?('reference') || slug == 'error-index'
reference
else
api
@@ -41,7 +41,11 @@ module Docs
end
def reference
- css('#versioninfo').remove
+ css('#versioninfo', '.error-undescribed').remove
+
+ css('.error-described').each do |node|
+ node.before(node.children).remove
+ end
end
def api
diff --git a/lib/docs/filters/rust/entries.rb b/lib/docs/filters/rust/entries.rb
index c5c8f324..83addcd2 100644
--- a/lib/docs/filters/rust/entries.rb
+++ b/lib/docs/filters/rust/entries.rb
@@ -6,6 +6,8 @@ module Docs
at_css("#toc a[href='#{File.basename(slug)}']").content
elsif slug.start_with?('reference')
'Reference'
+ elsif slug == 'error-index'
+ 'Compiler Errors'
else
name = at_css('h1.fqn .in-band').content.remove(/\A.+\s/)
mod = slug.split('/').first
@@ -21,6 +23,8 @@ module Docs
'Guide'
elsif slug.start_with?('reference')
'Reference'
+ elsif slug == 'error-index'
+ 'Compiler Errors'
else
path = name.split('::')
heading = at_css('h1.fqn .in-band').content.strip
@@ -43,6 +47,10 @@ module Docs
id = node['href'].remove('#')
[name, id]
end
+ elsif slug == 'error-index'
+ css('.error-described h2.section-header').map do |node|
+ [node.content, node['id']]
+ end
else
css('#methods + * + div > .method', '#required-methods + div > .method', '#provided-methods + div > .method').map do |node|
name = node.at_css('.fnname').content
diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb
index 806a52b4..22f164c5 100644
--- a/lib/docs/scrapers/rust.rb
+++ b/lib/docs/scrapers/rust.rb
@@ -1,13 +1,14 @@
module Docs
class Rust < UrlScraper
self.type = 'rust'
- self.release = '1.9.0'
+ self.release = '1.10.0'
self.base_url = 'https://doc.rust-lang.org/'
self.root_path = 'book/index.html'
self.initial_paths = %w(
reference.html
collections/index.html
- std/index.html)
+ std/index.html
+ error-index.html)
self.links = {
home: 'https://www.rust-lang.org/',
code: 'https://github.com/rust-lang/rust'