Skip to content

Commit ac56beb

Browse files
committed
Merge pull request #49 from chris-morgan/master
Update for language changes.
2 parents 5a5841c + 0517448 commit ac56beb

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

src/sink/owned_dom.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use tree_builder;
2828
use serialize::{Serializable, Serializer};
2929
use driver::ParseResult;
3030

31-
use core::ty::Unsafe;
31+
use core::cell::UnsafeCell;
3232
use core::default::Default;
3333
use core::mem::transmute;
3434
use core::kinds::marker;
@@ -61,13 +61,13 @@ impl SquishyNode {
6161
}
6262

6363
struct Handle {
64-
ptr: *const Unsafe<SquishyNode>,
64+
ptr: *const UnsafeCell<SquishyNode>,
6565
no_send: marker::NoSend,
6666
no_sync: marker::NoSync,
6767
}
6868

6969
impl Handle {
70-
fn new(ptr: *const Unsafe<SquishyNode>) -> Handle {
70+
fn new(ptr: *const UnsafeCell<SquishyNode>) -> Handle {
7171
Handle {
7272
ptr: ptr,
7373
no_send: marker::NoSend,
@@ -148,7 +148,7 @@ fn append_to_existing_text(mut prev: Handle, text: &str) -> bool {
148148
}
149149

150150
pub struct Sink {
151-
nodes: Vec<Box<Unsafe<SquishyNode>>>,
151+
nodes: Vec<Box<UnsafeCell<SquishyNode>>>,
152152
document: Handle,
153153
errors: Vec<MaybeOwned<'static>>,
154154
quirks_mode: QuirksMode,
@@ -169,8 +169,8 @@ impl Default for Sink {
169169

170170
impl Sink {
171171
fn new_node(&mut self, node: NodeEnum) -> Handle {
172-
self.nodes.push(box Unsafe::new(SquishyNode::new(node)));
173-
let ptr: *const Unsafe<SquishyNode> = &**self.nodes.last().unwrap();
172+
self.nodes.push(box UnsafeCell::new(SquishyNode::new(node)));
173+
let ptr: *const UnsafeCell<SquishyNode> = &**self.nodes.last().unwrap();
174174
Handle::new(ptr)
175175
}
176176
}
@@ -311,7 +311,7 @@ impl ParseResult<Sink> for OwnedDom {
311311
// their parent. In the process of iterating we drop all nodes that
312312
// aren't in the tree.
313313
for node in sink.nodes.into_iter() {
314-
let ptr: *const Unsafe<SquishyNode> = &*node;
314+
let ptr: *const UnsafeCell<SquishyNode> = &*node;
315315
if live.contains(&(ptr as uint)) {
316316
unsafe {
317317
mem::forget(node);
@@ -323,7 +323,7 @@ impl ParseResult<Sink> for OwnedDom {
323323

324324
// Transmute the root to a Node, finalizing the transfer of ownership.
325325
let document = unsafe {
326-
mem::transmute::<*const Unsafe<SquishyNode>, Box<Node>>(sink.document.ptr)
326+
mem::transmute::<*const UnsafeCell<SquishyNode>, Box<Node>>(sink.document.ptr)
327327
};
328328

329329
// FIXME: do this assertion statically

src/tree_builder/rules.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ impl<Handle: Clone, Sink: TreeSink<Handle>>
773773
self.sink.mark_script_already_started(current);
774774
}
775775
self.pop();
776-
Reprocess(self.orig_mode.take_unwrap(), token)
776+
Reprocess(self.orig_mode.take().unwrap(), token)
777777
}
778778

779779
tag @ </_> => {
@@ -782,7 +782,7 @@ impl<Handle: Clone, Sink: TreeSink<Handle>>
782782
h5e_warn!("FIXME: </script> not fully implemented");
783783
self.sink.complete_script(node);
784784
}
785-
self.mode = self.orig_mode.take_unwrap();
785+
self.mode = self.orig_mode.take().unwrap();
786786
Done
787787
}
788788

@@ -921,7 +921,7 @@ impl<Handle: Clone, Sink: TreeSink<Handle>>
921921
}
922922
}
923923

924-
Reprocess(self.orig_mode.take_unwrap(), token)
924+
Reprocess(self.orig_mode.take().unwrap(), token)
925925
}
926926
}),
927927

@@ -1157,7 +1157,7 @@ impl<Handle: Clone, Sink: TreeSink<Handle>>
11571157
</optgroup> => {
11581158
if self.open_elems.len() >= 2
11591159
&& self.current_node_named(atom!(option))
1160-
&& self.html_elem_named(self.open_elems.get(1).clone(),
1160+
&& self.html_elem_named(self.open_elems[1].clone(),
11611161
atom!(optgroup)) {
11621162
self.pop();
11631163
}

0 commit comments

Comments
 (0)