Skip to content

Commit 179be63

Browse files
committed
Update to 2018 edition and remove all warnings.
1 parent 44f6ee4 commit 179be63

File tree

33 files changed

+205
-200
lines changed

33 files changed

+205
-200
lines changed

html5ever/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ description = "High-performance browser-grade HTML5 parser"
99
documentation = "https://docs.rs/html5ever"
1010
build = "build.rs"
1111
categories = [ "parser-implementations", "web-programming" ]
12+
edition = "2018"
1213

1314
[lib]
1415
name = "html5ever"

html5ever/build.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
#[macro_use]
11-
extern crate quote;
12-
#[macro_use]
13-
extern crate syn;
14-
extern crate proc_macro2;
15-
1610
use std::env;
1711
use std::path::Path;
1812
use std::thread::Builder;

html5ever/examples/print-tree-actions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ impl TreeSink for Sink {
106106
fn append_based_on_parent_node(
107107
&mut self,
108108
element: &Self::Handle,
109-
prev_element: &Self::Handle,
109+
_prev_element: &Self::Handle,
110110
child: NodeOrText<Self::Handle>,
111111
) {
112112
self.append_before_sibling(element, child);

html5ever/macros/match_token.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ matching, by enforcing the following restrictions on its input:
9999
is common in the HTML5 syntax.
100100
*/
101101

102+
use quote::quote;
103+
use syn::{braced, parse_quote, Token};
104+
102105
use proc_macro2::TokenStream;
103106
use quote::ToTokens;
104107
use std::collections::HashSet;
@@ -447,8 +450,8 @@ impl Fold for MatchTokenParser {
447450

448451
fn make_tag_pattern(binding: &TokenStream, tag: Tag) -> TokenStream {
449452
let kind = match tag.kind {
450-
TagKind::StartTag => quote!(::tokenizer::StartTag),
451-
TagKind::EndTag => quote!(::tokenizer::EndTag),
453+
TagKind::StartTag => quote!(crate::tokenizer::StartTag),
454+
TagKind::EndTag => quote!(crate::tokenizer::EndTag),
452455
};
453456
let name_field = if let Some(name) = tag.name {
454457
let name = name.to_string();
@@ -457,6 +460,6 @@ fn make_tag_pattern(binding: &TokenStream, tag: Tag) -> TokenStream {
457460
quote!()
458461
};
459462
quote! {
460-
::tree_builder::types::TagToken(#binding ::tokenizer::Tag { kind: #kind, #name_field .. })
463+
crate::tree_builder::types::TagToken(#binding crate::tokenizer::Tag { kind: #kind, #name_field .. })
461464
}
462465
}

html5ever/src/driver.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99

1010
//! High-level interface to the parser.
1111
12-
use buffer_queue::BufferQueue;
13-
use tokenizer::{Tokenizer, TokenizerOpts, TokenizerResult};
14-
use tree_builder::{create_element, TreeBuilder, TreeBuilderOpts, TreeSink};
15-
use {Attribute, QualName};
12+
use crate::buffer_queue::BufferQueue;
13+
use crate::tokenizer::{Tokenizer, TokenizerOpts, TokenizerResult};
14+
use crate::tree_builder::{create_element, TreeBuilder, TreeBuilderOpts, TreeSink};
15+
use crate::{Attribute, QualName};
1616

1717
use std::borrow::Cow;
1818

19-
use tendril;
20-
use tendril::stream::{TendrilSink, Utf8LossyDecoder};
21-
use tendril::StrTendril;
19+
use crate::tendril;
20+
use crate::tendril::stream::{TendrilSink, Utf8LossyDecoder};
21+
use crate::tendril::StrTendril;
2222

2323
/// All-encompassing options struct for the parser.
2424
#[derive(Clone, Default)]
@@ -138,9 +138,9 @@ impl<Sink: TreeSink> Parser<Sink> {
138138
#[cfg(test)]
139139
mod tests {
140140
use super::*;
141-
use rcdom::RcDom;
142-
use serialize::serialize;
143-
use tendril::TendrilSink;
141+
use crate::rcdom::RcDom;
142+
use crate::serialize::serialize;
143+
use crate::tendril::TendrilSink;
144144

145145
#[test]
146146
fn from_utf8() {

html5ever/src/lib.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,6 @@
1212
#![cfg_attr(test, deny(warnings))]
1313
#![allow(unused_parens)]
1414

15-
#[macro_use]
16-
extern crate log;
17-
#[macro_use]
18-
extern crate markup5ever;
19-
#[macro_use]
20-
extern crate mac;
21-
2215
pub use driver::{parse_document, parse_fragment, ParseOpts, Parser};
2316
pub use markup5ever::*;
2417

html5ever/src/serialize/mod.rs

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10+
use log::warn;
1011
pub use markup5ever::serialize::{AttrRef, Serialize, Serializer, TraversalScope};
12+
use markup5ever::{local_name, namespace_url, ns};
1113
use std::default::Default;
1214
use std::io::{self, Write};
1315

14-
use {LocalName, QualName};
16+
use crate::{LocalName, QualName};
1517

1618
pub fn serialize<Wr, T>(writer: Wr, node: &T, opts: SerializeOpts) -> io::Result<()>
1719
where
@@ -104,14 +106,14 @@ impl<Wr: Write> HtmlSerializer<Wr> {
104106

105107
fn write_escaped(&mut self, text: &str, attr_mode: bool) -> io::Result<()> {
106108
for c in text.chars() {
107-
try!(match c {
109+
match c {
108110
'&' => self.writer.write_all(b"&amp;"),
109111
'\u{00A0}' => self.writer.write_all(b"&nbsp;"),
110112
'"' if attr_mode => self.writer.write_all(b"&quot;"),
111113
'<' if !attr_mode => self.writer.write_all(b"&lt;"),
112114
'>' if !attr_mode => self.writer.write_all(b"&gt;"),
113115
c => self.writer.write_fmt(format_args!("{}", c)),
114-
});
116+
}?;
115117
}
116118
Ok(())
117119
}
@@ -136,33 +138,33 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
136138
return Ok(());
137139
}
138140

139-
try!(self.writer.write_all(b"<"));
140-
try!(self.writer.write_all(tagname(&name).as_bytes()));
141+
self.writer.write_all(b"<")?;
142+
self.writer.write_all(tagname(&name).as_bytes())?;
141143
for (name, value) in attrs {
142-
try!(self.writer.write_all(b" "));
144+
self.writer.write_all(b" ")?;
143145

144146
match name.ns {
145147
ns!() => (),
146-
ns!(xml) => try!(self.writer.write_all(b"xml:")),
148+
ns!(xml) => self.writer.write_all(b"xml:")?,
147149
ns!(xmlns) => {
148150
if name.local != local_name!("xmlns") {
149-
try!(self.writer.write_all(b"xmlns:"));
151+
self.writer.write_all(b"xmlns:")?;
150152
}
151153
},
152-
ns!(xlink) => try!(self.writer.write_all(b"xlink:")),
154+
ns!(xlink) => self.writer.write_all(b"xlink:")?,
153155
ref ns => {
154156
// FIXME(#122)
155157
warn!("attr with weird namespace {:?}", ns);
156-
try!(self.writer.write_all(b"unknown_namespace:"));
158+
self.writer.write_all(b"unknown_namespace:")?;
157159
},
158160
}
159161

160-
try!(self.writer.write_all(name.local.as_bytes()));
161-
try!(self.writer.write_all(b"=\""));
162-
try!(self.write_escaped(value, true));
163-
try!(self.writer.write_all(b"\""));
162+
self.writer.write_all(name.local.as_bytes())?;
163+
self.writer.write_all(b"=\"")?;
164+
self.write_escaped(value, true)?;
165+
self.writer.write_all(b"\"")?;
164166
}
165-
try!(self.writer.write_all(b">"));
167+
self.writer.write_all(b">")?;
166168

167169
let ignore_children = name.ns == ns!(html) &&
168170
match name.local {
@@ -211,8 +213,8 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
211213
return Ok(());
212214
}
213215

214-
try!(self.writer.write_all(b"</"));
215-
try!(self.writer.write_all(tagname(&name).as_bytes()));
216+
self.writer.write_all(b"</")?;
217+
self.writer.write_all(tagname(&name).as_bytes())?;
216218
self.writer.write_all(b">")
217219
}
218220

@@ -239,22 +241,22 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
239241
}
240242

241243
fn write_comment(&mut self, text: &str) -> io::Result<()> {
242-
try!(self.writer.write_all(b"<!--"));
243-
try!(self.writer.write_all(text.as_bytes()));
244+
self.writer.write_all(b"<!--")?;
245+
self.writer.write_all(text.as_bytes())?;
244246
self.writer.write_all(b"-->")
245247
}
246248

247249
fn write_doctype(&mut self, name: &str) -> io::Result<()> {
248-
try!(self.writer.write_all(b"<!DOCTYPE "));
249-
try!(self.writer.write_all(name.as_bytes()));
250+
self.writer.write_all(b"<!DOCTYPE ")?;
251+
self.writer.write_all(name.as_bytes())?;
250252
self.writer.write_all(b">")
251253
}
252254

253255
fn write_processing_instruction(&mut self, target: &str, data: &str) -> io::Result<()> {
254-
try!(self.writer.write_all(b"<?"));
255-
try!(self.writer.write_all(target.as_bytes()));
256-
try!(self.writer.write_all(b" "));
257-
try!(self.writer.write_all(data.as_bytes()));
256+
self.writer.write_all(b"<?")?;
257+
self.writer.write_all(target.as_bytes())?;
258+
self.writer.write_all(b" ")?;
259+
self.writer.write_all(data.as_bytes())?;
258260
self.writer.write_all(b">")
259261
}
260262
}

html5ever/src/tokenizer/char_ref/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88
// except according to those terms.
99

1010
use super::{TokenSink, Tokenizer};
11-
use buffer_queue::BufferQueue;
12-
use data;
13-
use tendril::StrTendril;
14-
use util::str::is_ascii_alnum;
11+
use crate::buffer_queue::BufferQueue;
12+
use crate::data;
13+
use crate::tendril::StrTendril;
14+
use crate::util::str::is_ascii_alnum;
1515

16+
use log::debug;
17+
use mac::format_if;
1618
use std::borrow::Cow::Borrowed;
1719
use std::char::from_u32;
1820

html5ever/src/tokenizer/interface.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use interface::Attribute;
10+
use crate::interface::Attribute;
1111
use std::borrow::Cow;
12-
use tendril::StrTendril;
13-
use tokenizer::states;
14-
use LocalName;
12+
use crate::tendril::StrTendril;
13+
use crate::tokenizer::states;
14+
use crate::LocalName;
1515

1616
pub use self::TagKind::{EndTag, StartTag};
1717
pub use self::Token::{CharacterTokens, CommentToken, DoctypeToken, TagToken};

html5ever/src/tokenizer/mod.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,19 @@ use self::states::{Rawtext, Rcdata, ScriptData, ScriptDataEscaped};
2121

2222
use self::char_ref::{CharRef, CharRefTokenizer};
2323

24-
use util::str::lower_ascii_letter;
24+
use crate::util::str::lower_ascii_letter;
2525

26+
use log::debug;
27+
use mac::{format_if, matches, _tt_as_expr_hack};
28+
use markup5ever::{namespace_url, ns, small_char_set};
2629
use std::borrow::Cow::{self, Borrowed};
2730
use std::collections::BTreeMap;
2831
use std::default::Default;
2932
use std::mem::replace;
3033

31-
pub use buffer_queue::{BufferQueue, FromSet, NotFromSet, SetResult};
32-
use tendril::StrTendril;
33-
use {Attribute, LocalName, QualName, SmallCharSet};
34+
pub use crate::buffer_queue::{BufferQueue, FromSet, NotFromSet, SetResult};
35+
use crate::tendril::StrTendril;
36+
use crate::{Attribute, LocalName, QualName, SmallCharSet};
3437

3538
mod char_ref;
3639
mod interface;
@@ -1523,7 +1526,7 @@ impl<Sink: TokenSink> Tokenizer<Sink> {
15231526
#[allow(non_snake_case)]
15241527
mod test {
15251528
use super::option_push; // private items
1526-
use tendril::{SliceExt, StrTendril};
1529+
use crate::tendril::{SliceExt, StrTendril};
15271530

15281531
use super::{TokenSink, TokenSinkResult, Tokenizer, TokenizerOpts};
15291532

@@ -1534,7 +1537,7 @@ mod test {
15341537
use markup5ever::buffer_queue::BufferQueue;
15351538
use std::mem::replace;
15361539

1537-
use LocalName;
1540+
use crate::LocalName;
15381541

15391542
// LinesMatch implements the TokenSink trait. It is used for testing to see
15401543
// if current_line is being updated when process_token is called. The lines

html5ever/src/tree_builder/data.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use interface::{LimitedQuirks, NoQuirks, Quirks, QuirksMode};
11-
use tendril::StrTendril;
12-
use tokenizer::Doctype;
10+
use crate::interface::{LimitedQuirks, NoQuirks, Quirks, QuirksMode};
11+
use crate::tendril::StrTendril;
12+
use crate::tokenizer::Doctype;
1313

1414
// These should all be lowercase, for ASCII-case-insensitive matching.
1515
static QUIRKY_PUBLIC_PREFIXES: &'static [&'static str] = &[

0 commit comments

Comments
 (0)