Skip to content

Commit 92f0b9c

Browse files
committed
Switch back to using std
Fixes servo#63.
1 parent d2a0bec commit 92f0b9c

22 files changed

+35
-137
lines changed

src/driver.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@
99

1010
//! High-level interface to the parser.
1111
12-
use core::prelude::*;
13-
1412
use tokenizer::{TokenizerOpts, Tokenizer, TokenSink};
1513
use tree_builder::{TreeBuilderOpts, TreeBuilder, TreeSink};
1614

17-
use core::default::Default;
18-
use core::option;
19-
use collections::string::String;
15+
use std::option;
16+
use std::default::Default;
2017

2118
use string_cache::{Atom, QualName};
2219

src/for_c/common.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
12-
use core::ptr;
13-
use core::slice;
14-
use core::str;
15-
use core::marker::PhantomData;
10+
use std::{ptr, slice, str};
11+
use std::marker::PhantomData;
1612
use std::borrow::Cow;
17-
use collections::string::String;
1813

1914
use libc::{size_t, c_int, c_char, strlen};
2015

src/for_c/tokenizer.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,15 @@
99

1010
#![allow(non_camel_case_types)]
1111

12-
use core::prelude::*;
13-
1412
use for_c::common::{LifetimeBuf, AsLifetimeBuf, h5e_buf, c_bool};
1513

1614
use tokenizer::{TokenSink, Token, Doctype, Tag, ParseError, DoctypeToken};
1715
use tokenizer::{CommentToken, CharacterTokens, NullCharacterToken};
1816
use tokenizer::{TagToken, StartTag, EndTag, EOFToken, Tokenizer};
1917

20-
use core::mem;
21-
use core::default::Default;
22-
use alloc::boxed::Box;
23-
use collections::String;
18+
use std::mem;
19+
use std::default::Default;
20+
2421
use libc::{c_void, c_int, size_t};
2522

2623
#[repr(C)]

src/lib.rs

+1-15
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,17 @@
1010
#![crate_name="html5ever"]
1111
#![crate_type="dylib"]
1212

13-
#![feature(plugin, box_syntax, no_std, core, collections, alloc, str_char, slice_patterns)]
13+
#![feature(plugin, box_syntax, core, collections, alloc, str_char, slice_patterns)]
1414
#![deny(warnings)]
1515
#![allow(unused_parens)]
1616

1717
#![plugin(phf_macros)]
1818
#![plugin(string_cache_plugin)]
1919
#![plugin(html5ever_macros)]
2020

21-
// FIXME(#63): switch back to using std
22-
#![no_std]
23-
24-
extern crate alloc;
25-
26-
#[macro_use]
27-
extern crate core;
28-
29-
#[macro_use]
30-
extern crate std;
31-
3221
#[cfg(for_c)]
3322
extern crate libc;
3423

35-
#[macro_use]
36-
extern crate collections;
37-
3824
#[macro_use]
3925
extern crate log;
4026

src/serialize/mod.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,8 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
1210
use std::io::{self, Write};
13-
use core::default::Default;
14-
use collections::vec::Vec;
11+
use std::default::Default;
1512

1613
use string_cache::{Atom, QualName};
1714

src/sink/common.rs

-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
use tokenizer::Attribute;
1111

12-
use collections::vec::Vec;
13-
use collections::string::String;
1412
use string_cache::QualName;
1513

1614
pub use self::NodeEnum::{Document, Doctype, Text, Comment, Element};

src/sink/owned_dom.rs

+4-10
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
//! This is believed to be memory safe, but if you want to be extra
2020
//! careful you can use `RcDom` instead.
2121
22-
use core::prelude::*;
23-
2422
use sink::common::{NodeEnum, Document, Doctype, Text, Comment, Element};
2523

2624
use tokenizer::Attribute;
@@ -31,14 +29,10 @@ use serialize::TraversalScope;
3129
use serialize::TraversalScope::{IncludeNode, ChildrenOnly};
3230
use driver::ParseResult;
3331

34-
use core::cell::UnsafeCell;
35-
use core::default::Default;
36-
use core::mem::transmute;
37-
use core::mem;
38-
use core::ptr;
39-
use alloc::boxed::Box;
40-
use collections::vec::Vec;
41-
use collections::string::String;
32+
use std::{mem, ptr};
33+
use std::cell::UnsafeCell;
34+
use std::default::Default;
35+
use std::mem::transmute;
4236
use std::borrow::Cow;
4337
use std::io::{self, Write};
4438
use std::collections::HashSet;

src/sink/rcdom.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
//! This is sufficient as a static parse tree, but don't build a
1313
//! web browser using it. :)
1414
15-
use core::prelude::*;
16-
1715
use sink::common::{NodeEnum, Document, Doctype, Text, Comment, Element};
1816

1917
use tokenizer::Attribute;
@@ -24,11 +22,9 @@ use serialize::TraversalScope;
2422
use serialize::TraversalScope::{IncludeNode, ChildrenOnly};
2523
use driver::ParseResult;
2624

27-
use core::cell::RefCell;
28-
use core::default::Default;
29-
use alloc::rc::{Rc, Weak};
30-
use collections::vec::Vec;
31-
use collections::string::String;
25+
use std::cell::RefCell;
26+
use std::default::Default;
27+
use std::rc::{Rc, Weak};
3228
use std::borrow::Cow;
3329
use std::io::{self, Write};
3430
use std::ops::DerefMut;

src/tokenizer/buffer_queue.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,11 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
1210
use util::str::AsciiCast;
1311
use util::smallcharset::SmallCharSet;
1412

15-
use core::str::CharRange;
16-
use collections::string::String;
17-
use collections::VecDeque;
13+
use std::str::CharRange;
14+
use std::collections::VecDeque;
1815

1916
pub use self::SetResult::{FromSet, NotFromSet};
2017

@@ -177,8 +174,6 @@ impl BufferQueue {
177174
#[cfg(test)]
178175
#[allow(non_snake_case)]
179176
mod test {
180-
use core::prelude::*;
181-
use collections::string::String;
182177
use super::{BufferQueue, FromSet, NotFromSet};
183178

184179
#[test]

src/tokenizer/char_ref/data.rs

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
1210
use phf::Map;
1311

1412
/// The spec replaces most characters in the ISO-2022 C1 control code range

src/tokenizer/char_ref/mod.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
1210
use super::{Tokenizer, TokenSink};
1311

1412
use util::str::{is_ascii_alnum, empty_str};
1513

16-
use core::char::from_u32;
14+
use std::char::from_u32;
1715
use std::borrow::Cow::Borrowed;
18-
use collections::string::String;
1916

2017
pub use self::Status::*;
2118
use self::State::*;

src/tokenizer/interface.rs

-6
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,9 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::option::Option::{self, None};
11-
use core::clone::Clone;
12-
1310
use tokenizer::states;
1411

15-
use collections::vec::Vec;
16-
use collections::string::String;
1712
use std::borrow::Cow;
18-
use std::marker::Send;
1913

2014
use string_cache::{Atom, QualName};
2115

src/tokenizer/mod.rs

+3-14
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111
1212
#![allow(unused_imports)]
1313

14-
use core::clone::Clone;
15-
use core::cmp::Ord;
16-
use core::iter::Iterator;
17-
use core::option::Option::{self, Some, None};
18-
1914
pub use self::interface::{Doctype, Attribute, TagKind, StartTag, EndTag, Tag};
2015
pub use self::interface::{Token, DoctypeToken, TagToken, CommentToken};
2116
pub use self::interface::{CharacterTokens, NullCharacterToken, EOFToken, ParseError};
@@ -34,11 +29,8 @@ use self::buffer_queue::{BufferQueue, SetResult, FromSet, NotFromSet};
3429
use util::str::{lower_ascii, lower_ascii_letter, empty_str};
3530
use util::smallcharset::SmallCharSet;
3631

37-
use core::mem::replace;
38-
use core::default::Default;
39-
use alloc::boxed::Box;
40-
use collections::vec::Vec;
41-
use collections::string::{String, ToString};
32+
use std::mem::replace;
33+
use std::default::Default;
4234
use std::borrow::Cow::{self, Borrowed};
4335
use std::collections::BTreeMap;
4436

@@ -1235,7 +1227,7 @@ impl<Sink: TokenSink> Tokenizer<Sink> {
12351227
}
12361228

12371229
fn dump_profile(&self) {
1238-
use core::iter::AdditiveIterator;
1230+
use std::iter::AdditiveIterator;
12391231

12401232
let mut results: Vec<(states::State, u64)>
12411233
= self.state_profile.iter().map(|(s, t)| (*s, *t)).collect();
@@ -1326,9 +1318,6 @@ impl<Sink: TokenSink> Tokenizer<Sink> {
13261318
#[cfg(test)]
13271319
#[allow(non_snake_case)]
13281320
mod test {
1329-
use core::prelude::*;
1330-
use collections::vec::Vec;
1331-
use collections::string::String;
13321321
use super::{option_push, append_strings}; // private items
13331322

13341323
#[test]

src/tokenizer/states.rs

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
//! This is public for use by the tokenizer tests. Other library
1313
//! users should not have to care about this.
1414
15-
use core::prelude::*;
16-
1715
pub use self::ScriptEscapeKind::*;
1816
pub use self::DoctypeIdKind::*;
1917
pub use self::RawKind::*;

src/tree_builder/actions.rs

+5-10
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
//! Many of these are named within the spec, e.g. "reset the insertion
1313
//! mode appropriately".
1414
15-
use core::prelude::*;
16-
1715
use tree_builder::types::*;
1816
use tree_builder::tag_sets::*;
1917
use tree_builder::interface::{TreeSink, QuirksMode, NodeOrText, AppendNode, AppendText};
@@ -24,12 +22,9 @@ use tokenizer::states::{RawData, RawKind};
2422

2523
use util::str::{AsciiExt, to_escaped_string};
2624

27-
use core::mem::replace;
28-
use core::iter::{Rev, Enumerate};
29-
use core::slice;
30-
use core::fmt::Debug;
31-
use collections::vec::Vec;
32-
use collections::string::String;
25+
use std::{slice, fmt};
26+
use std::mem::replace;
27+
use std::iter::{Rev, Enumerate};
3328
use std::borrow::Cow::Borrowed;
3429

3530
use string_cache::{Atom, Namespace, QualName};
@@ -62,7 +57,7 @@ enum Bookmark<Handle> {
6257

6358
// These go in a trait so that we can control visibility.
6459
pub trait TreeBuilderActions<Handle> {
65-
fn unexpected<T: Debug>(&mut self, thing: &T) -> ProcessResult;
60+
fn unexpected<T: fmt::Debug>(&mut self, thing: &T) -> ProcessResult;
6661
fn assert_named(&mut self, node: Handle, name: Atom);
6762
fn clear_active_formatting_to_marker(&mut self);
6863
fn create_formatting_element_for(&mut self, tag: Tag) -> Handle;
@@ -131,7 +126,7 @@ impl<Handle, Sink> TreeBuilderActions<Handle>
131126
where Handle: Clone,
132127
Sink: TreeSink<Handle=Handle>,
133128
{
134-
fn unexpected<T: Debug>(&mut self, _thing: &T) -> ProcessResult {
129+
fn unexpected<T: fmt::Debug>(&mut self, _thing: &T) -> ProcessResult {
135130
self.sink.parse_error(format_if!(
136131
self.opts.exact_errors,
137132
"Unexpected token",

src/tree_builder/data.rs

-4
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@
77
// option. This file may not be copied, modified, or distributed
88
// except according to those terms.
99

10-
use core::prelude::*;
11-
1210
use tokenizer::Doctype;
1311
use tree_builder::interface::{QuirksMode, Quirks, LimitedQuirks, NoQuirks};
1412
use util::str::AsciiExt;
1513

16-
use collections::string::String;
17-
1814
// These should all be lowercase, for ASCII-case-insensitive matching.
1915
static QUIRKY_PUBLIC_PREFIXES: &'static [&'static str] = &[
2016
"-//advasoft ltd//dtd html 3.0 aswedit + extensions//",

src/tree_builder/interface.rs

-4
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@
1010
//! The interface for consumers of the tree builder (and thus the
1111
//! parser overall).
1212
13-
use core::prelude::*;
14-
1513
use tokenizer::Attribute;
1614

17-
use collections::vec::Vec;
18-
use collections::string::String;
1915
use std::borrow::Cow;
2016

2117
use string_cache::QualName;

src/tree_builder/mod.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
//! The HTML5 tree builder.
1111
12-
use core::prelude::*;
13-
1412
pub use self::interface::{QuirksMode, Quirks, LimitedQuirks, NoQuirks};
1513
pub use self::interface::{NodeOrText, AppendNode, AppendText};
1614
pub use self::interface::{TreeSink, Tracer};
@@ -28,12 +26,10 @@ use tokenizer::states as tok_state;
2826

2927
use util::str::{is_ascii_whitespace, char_run};
3028

31-
use core::default::Default;
32-
use core::mem::replace;
33-
use collections::vec::Vec;
34-
use collections::string::String;
29+
use std::default::Default;
30+
use std::mem::replace;
3531
use std::borrow::Cow::Borrowed;
36-
use collections::VecDeque;
32+
use std::collections::VecDeque;
3733

3834
#[macro_use] mod tag_sets;
3935
// "pub" is a workaround for rust#18241 (?)

src/tree_builder/rules.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
//! The tree builder rules, as a single, enormous nested match expression.
1111
12-
use core::prelude::*;
13-
1412
use tree_builder::types::*;
1513
use tree_builder::tag_sets::*;
1614
use tree_builder::actions::TreeBuilderActions;
@@ -21,8 +19,7 @@ use tokenizer::states::{Rcdata, Rawtext, ScriptData, Plaintext};
2119

2220
use util::str::{AsciiExt, is_ascii_whitespace};
2321

24-
use core::mem::replace;
25-
use collections::string::String;
22+
use std::mem::replace;
2623
use std::borrow::Cow::Borrowed;
2724
use std::borrow::ToOwned;
2825

0 commit comments

Comments
 (0)