@@ -3103,19 +3103,10 @@ fn trans_lval_gen(cx: @block_ctxt, e: @ast::expr) -> lval_result {
3103
3103
} ;
3104
3104
ret lval_mem( sub. bcx , val) ;
3105
3105
}
3106
- ast:: expr_uniq ( contents) { ret trans_uniq ( cx, contents) ; }
3107
3106
ast:: expr_self_method ( ident) {
3108
3107
alt copy cx. fcx . llself {
3109
3108
some ( pair) {
3110
- let r = pair. v ;
3111
- let t = pair. t ;
3112
- ret trans_field ( cx, e. span , r, t, ident) ;
3113
- }
3114
- _ {
3115
- // Shouldn't happen.
3116
- bcx_ccx( cx) . sess . bug ( "trans_lval called on \
3117
- expr_self_method in \
3118
- a context without llself") ;
3109
+ ret trans_field ( cx, e. span , pair. v , pair. t , ident) ;
3119
3110
}
3120
3111
}
3121
3112
}
@@ -4109,6 +4100,7 @@ fn trans_expr_out(cx: @block_ctxt, e: @ast::expr, output: out_method) ->
4109
4100
CondBr ( cx, cond, then_cx. llbb , else_cx. llbb ) ;
4110
4101
ret rslt( join_branches ( cx, [ check_res, els] ) , C_nil ( ) ) ;
4111
4102
}
4103
+ ast:: expr_uniq ( contents) { ret trans_uniq ( cx, contents) ; }
4112
4104
ast:: expr_break. { ret trans_break ( e. span , cx) ; }
4113
4105
ast:: expr_cont. { ret trans_cont ( e. span , cx) ; }
4114
4106
ast:: expr_ret ( ex) { ret trans_ret ( cx, ex) ; }
@@ -4348,7 +4340,7 @@ fn trans_put(in_cx: @block_ctxt, e: option::t<@ast::expr>) -> result {
4348
4340
ret rslt( next_cx, C_nil ( ) ) ;
4349
4341
}
4350
4342
4351
- fn trans_uniq ( cx : @block_ctxt , contents : @ast:: expr ) -> lval_result {
4343
+ fn trans_uniq ( cx : @block_ctxt , contents : @ast:: expr ) -> result {
4352
4344
let bcx = cx;
4353
4345
4354
4346
let contents_ty = ty:: expr_ty ( bcx_tcx ( bcx) , contents) ;
@@ -4364,7 +4356,7 @@ fn trans_uniq(cx: @block_ctxt, contents: @ast::expr) -> lval_result {
4364
4356
4365
4357
let llptr = Load ( bcx, llptrptr) ;
4366
4358
r = trans_expr_out ( bcx, contents, save_in ( llptr) ) ;
4367
- ret lval_val ( r. bcx , llptrptr) ;
4359
+ ret rslt ( r. bcx , llptrptr) ;
4368
4360
}
4369
4361
4370
4362
fn trans_break_cont ( sp : span , cx : @block_ctxt , to_end : bool ) -> result {
0 commit comments