File tree Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Expand file tree Collapse file tree 2 files changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -102,11 +102,14 @@ impl methods<T> for exclusive<T> {
102
102
fn with < U > ( f : fn ( sys:: condition , x : & T ) -> U ) -> U {
103
103
unsafe {
104
104
let ptr: ~arc_data < ex_data < T > > = unsafe :: reinterpret_cast ( * self ) ;
105
- let rec: & ex_data < T > = & ( * ptr) . data ;
105
+ let r = {
106
+ let rec: & ex_data < T > = & ( * ptr) . data ;
107
+ rec. lock . lock_cond ( ) { |c|
108
+ f ( c, & rec. data )
109
+ }
110
+ } ;
106
111
unsafe :: forget ( ptr) ;
107
- rec. lock . lock_cond ( ) { |c|
108
- f ( c, & rec. data )
109
- }
112
+ r
110
113
}
111
114
}
112
115
}
Original file line number Diff line number Diff line change @@ -454,7 +454,7 @@ fn id_visitor(vfn: fn@(node_id)) -> visit::vt<()> {
454
454
455
455
visit_expr: fn @( e: @expr) {
456
456
vfn( e. id) ;
457
- alt e. node {
457
+ alt e. node {
458
458
expr_index( * ) | expr_assign_op( * ) |
459
459
expr_unary( * ) | expr_binary( * ) {
460
460
vfn( ast_util:: op_expr_callee_id( e) ) ;
You can’t perform that action at this time.
0 commit comments