Skip to content
This repository was archived by the owner on Apr 27, 2022. It is now read-only.

Commit 91150be

Browse files
committed
Update to 2018 edition
1 parent 061f697 commit 91150be

File tree

5 files changed

+34
-40
lines changed

5 files changed

+34
-40
lines changed

native/html5ever_nif/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "html5ever_nif"
33
version = "0.1.0"
44
authors = ["HansiHE <hansihe@hansihe.com>"]
5+
edition = "2018"
56

67
[lib]
78
name = "html5ever_nif"
@@ -15,5 +16,5 @@ html5ever = "0.22"
1516
markup5ever = "0.7"
1617

1718
tendril = "0.4"
18-
lazy_static = "1.2"
19+
lazy_static = "1.4"
1920
scoped-pool = "1.0"

native/html5ever_nif/src/common.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use ::rustler::{Encoder, Env, Term};
1+
use rustler::{Encoder, Env, Term};
22

3-
use ::html5ever::QualName;
4-
use ::tendril::StrTendril;
3+
use html5ever::QualName;
4+
use tendril::StrTendril;
55

66
// Zero-cost wrapper types which makes it possible to implement
77
// Encoder for these externally defined types.

native/html5ever_nif/src/flat_dom.rs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ use tendril::StrTendril;
66

77
use std::borrow::Cow;
88

9-
use ::rustler::{ Env, Encoder, Term };
10-
use ::common::{ STW, QNW };
9+
use rustler::{ Env, Encoder, Term };
10+
11+
use crate::common::{ STW, QNW };
1112

1213
#[derive(Copy, Clone, PartialEq, Debug)]
1314
pub struct NodeHandle(pub usize);
@@ -247,47 +248,47 @@ impl Encoder for NodeHandle {
247248
impl Encoder for Node {
248249
fn encode<'a>(&self, env: Env<'a>) -> Term<'a> {
249250
let map = ::rustler::types::map::map_new(env)
250-
.map_put(atoms::id().encode(env), self.id.encode(env)).ok().unwrap()
251-
.map_put(atoms::parent().encode(env), match self.parent {
251+
.map_put(self::atoms::id().encode(env), self.id.encode(env)).ok().unwrap()
252+
.map_put(self::atoms::parent().encode(env), match self.parent {
252253
Some(handle) => handle.encode(env),
253-
None => atoms::nil().encode(env),
254+
None => self::atoms::nil().encode(env),
254255
}).ok().unwrap();
255256

256257
match self.data {
257258
NodeData::Document => {
258259
map
259-
.map_put(atoms::type_().encode(env), atoms::document().encode(env)).ok().unwrap()
260+
.map_put(self::atoms::type_().encode(env), self::atoms::document().encode(env)).ok().unwrap()
260261
}
261262
NodeData::Element { ref attrs, ref name, .. } => {
262263
map
263-
.map_put(atoms::type_().encode(env), atoms::element().encode(env)).ok().unwrap()
264-
.map_put(atoms::children().encode(env), self.children.encode(env)).ok().unwrap()
265-
.map_put(atoms::name().encode(env), QNW(name).encode(env)).ok().unwrap()
266-
.map_put(atoms::attrs().encode(env), attrs.iter().map(|attr| {
264+
.map_put(self::atoms::type_().encode(env), self::atoms::element().encode(env)).ok().unwrap()
265+
.map_put(self::atoms::children().encode(env), self.children.encode(env)).ok().unwrap()
266+
.map_put(self::atoms::name().encode(env), QNW(name).encode(env)).ok().unwrap()
267+
.map_put(self::atoms::attrs().encode(env), attrs.iter().map(|attr| {
267268
(QNW(&attr.name), STW(&attr.value))
268269
}).collect::<Vec<_>>().encode(env)).ok().unwrap()
269270
}
270271
NodeData::Text { ref contents } => {
271272
map
272-
.map_put(atoms::type_().encode(env), atoms::text().encode(env)).ok().unwrap()
273-
.map_put(atoms::contents().encode(env), STW(contents).encode(env)).ok().unwrap()
273+
.map_put(self::atoms::type_().encode(env), self::atoms::text().encode(env)).ok().unwrap()
274+
.map_put(self::atoms::contents().encode(env), STW(contents).encode(env)).ok().unwrap()
274275
}
275276
NodeData::DocType { .. } => {
276277
map
277-
.map_put(atoms::type_().encode(env), atoms::doctype().encode(env)).ok().unwrap()
278+
.map_put(self::atoms::type_().encode(env), self::atoms::doctype().encode(env)).ok().unwrap()
278279
}
279280
NodeData::Comment { ref contents } => {
280281
map
281-
.map_put(atoms::type_().encode(env), atoms::comment().encode(env)).ok().unwrap()
282-
.map_put(atoms::contents().encode(env), STW(contents).encode(env)).ok().unwrap()
282+
.map_put(self::atoms::type_().encode(env), self::atoms::comment().encode(env)).ok().unwrap()
283+
.map_put(self::atoms::contents().encode(env), STW(contents).encode(env)).ok().unwrap()
283284
}
284285
_ => unimplemented!(),
285286
}
286287
}
287288
}
288289

289290
mod atoms {
290-
rustler_atoms! {
291+
rustler::rustler_atoms! {
291292
atom nil;
292293

293294
atom type_ = "type";
@@ -310,11 +311,11 @@ mod atoms {
310311

311312
pub fn flat_sink_to_term<'a>(env: Env<'a>, sink: &FlatSink) -> Term<'a> {
312313
let nodes = sink.nodes.iter()
313-
.fold(::rustler::types::map::map_new(env), |acc, node| {
314+
.fold(rustler::types::map::map_new(env), |acc, node| {
314315
acc.map_put(node.id.encode(env), node.encode(env)).ok().unwrap()
315316
});
316317

317318
::rustler::types::map::map_new(env)
318-
.map_put(atoms::nodes().encode(env), nodes).ok().unwrap()
319-
.map_put(atoms::root().encode(env), sink.root.encode(env)).ok().unwrap()
319+
.map_put(self::atoms::nodes().encode(env), nodes).ok().unwrap()
320+
.map_put(self::atoms::root().encode(env), sink.root.encode(env)).ok().unwrap()
320321
}

native/html5ever_nif/src/lib.rs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
#[macro_use]
2-
extern crate rustler;
3-
#[macro_use]
4-
extern crate lazy_static;
5-
extern crate scoped_pool;
6-
extern crate tendril;
7-
8-
extern crate html5ever;
9-
extern crate markup5ever;
10-
111
use std::panic;
122

3+
use lazy_static::lazy_static;
4+
135
use rustler::env::OwnedEnv;
146
use rustler::types::binary::Binary;
15-
use rustler::{Decoder, Encoder, Env, Error, NifResult, Term};
7+
use rustler::{Decoder, Encoder, Env, Error, NifResult, Term, rustler_export_nifs};
168

179
use html5ever::rcdom::RcDom;
1810
use tendril::TendrilSink;
@@ -22,7 +14,7 @@ mod flat_dom;
2214
mod rc_dom;
2315

2416
mod atoms {
25-
rustler_atoms! {
17+
rustler::rustler_atoms! {
2618
atom html5ever_nif_result;
2719

2820
atom ok;

native/html5ever_nif/src/rc_dom.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use ::rustler::{Env, Term, Encoder};
2-
use ::html5ever::rcdom::{Handle, NodeData};
1+
use rustler::{Env, Term, Encoder};
2+
use html5ever::rcdom::{Handle, NodeData};
33

4-
use ::common::{ QNW, STW };
4+
use crate::common::{ QNW, STW };
55

66
/// Takes a Handle from a RcDom, encodes it into a Term.
77
/// This follows the mochiweb encoding scheme with two exceptions:
@@ -25,12 +25,12 @@ pub fn handle_to_term<'a>(env: Env<'a>, handle: &Handle) -> Option<Term<'a>> {
2525
NodeData::Document => Some(children()),
2626

2727
NodeData::Doctype { ref name, ref public_id, ref system_id } => {
28-
Some((::atoms::doctype(), STW(name), STW(public_id), STW(system_id)).encode(env))
28+
Some((crate::atoms::doctype(), STW(name), STW(public_id), STW(system_id)).encode(env))
2929
}
3030

3131
NodeData::Text { ref contents } => Some(STW(&*contents.borrow()).encode(env)),
3232

33-
NodeData::Comment { ref contents } => Some((::atoms::comment(), STW(contents)).encode(env)),
33+
NodeData::Comment { ref contents } => Some((crate::atoms::comment(), STW(contents)).encode(env)),
3434

3535
NodeData::Element { ref name, ref attrs, .. } => {
3636
let attribute_terms: Vec<Term<'a>> = attrs.borrow().iter()

0 commit comments

Comments
 (0)