@@ -28,7 +28,7 @@ use tree_builder;
2828use serialize:: { Serializable , Serializer } ;
2929use driver:: ParseResult ;
3030
31- use core:: ty :: Unsafe ;
31+ use core:: cell :: UnsafeCell ;
3232use core:: default:: Default ;
3333use core:: mem:: transmute;
3434use core:: kinds:: marker;
@@ -61,13 +61,13 @@ impl SquishyNode {
6161}
6262
6363struct Handle {
64- ptr : * const Unsafe < SquishyNode > ,
64+ ptr : * const UnsafeCell < SquishyNode > ,
6565 no_send : marker:: NoSend ,
6666 no_sync : marker:: NoSync ,
6767}
6868
6969impl 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
150150pub 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
170170impl 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
0 commit comments