@@ -436,7 +436,7 @@ pub impl VisitContext {
436436
437437 expr_unary( deref, base) => { // *base
438438 if !self . use_overloaded_operator (
439- expr, DontDerefArgs , base, [ ] , visitor)
439+ expr, base, [ ] , visitor)
440440 {
441441 // Moving out of *base moves out of base.
442442 self . use_expr ( base, comp_mode, visitor) ;
@@ -450,7 +450,7 @@ pub impl VisitContext {
450450
451451 expr_index( lhs, rhs) => { // lhs[rhs]
452452 if !self . use_overloaded_operator (
453- expr, DontDerefArgs , lhs, [ rhs] , visitor)
453+ expr, lhs, [ rhs] , visitor)
454454 {
455455 self . use_expr ( lhs, comp_mode, visitor) ;
456456 self . consume_expr ( rhs, visitor) ;
@@ -579,15 +579,15 @@ pub impl VisitContext {
579579
580580 expr_unary( _, lhs) => {
581581 if !self . use_overloaded_operator (
582- expr, DontDerefArgs , lhs, [ ] , visitor)
582+ expr, lhs, [ ] , visitor)
583583 {
584584 self . consume_expr ( lhs, visitor) ;
585585 }
586586 }
587587
588588 expr_binary( _, lhs, rhs) => {
589589 if !self . use_overloaded_operator (
590- expr, DoDerefArgs , lhs, [ rhs] , visitor)
590+ expr, lhs, [ rhs] , visitor)
591591 {
592592 self . consume_expr ( lhs, visitor) ;
593593 self . consume_expr ( rhs, visitor) ;
@@ -659,7 +659,6 @@ pub impl VisitContext {
659659
660660 fn use_overloaded_operator ( & self ,
661661 expr : @expr,
662- deref_args : DerefArgs ,
663662 receiver_expr : @expr,
664663 arg_exprs: & [ @expr] ,
665664 visitor : vt < VisitContext > ) -> bool
@@ -670,21 +669,10 @@ pub impl VisitContext {
670669
671670 self . use_receiver ( expr. id , expr. span , receiver_expr, visitor) ;
672671
673- // The deref_args stuff should eventually be converted into
674- // adjustments. Moreover, it should eventually be applied
675- // consistently to all overloaded operators. But that's not
676- // how it is today.
677- match deref_args {
678- DoDerefArgs => {
679- // we are always passing in a borrowed pointer,
680- // so it's always read mode:
681- for arg_exprs. each |arg_expr| {
682- self . use_expr ( * arg_expr, Read , visitor) ;
683- }
684- }
685- DontDerefArgs => {
686- self . use_fn_args ( expr. callee_id , arg_exprs, visitor) ;
687- }
672+ // for overloaded operatrs, we are always passing in a
673+ // borrowed pointer, so it's always read mode:
674+ for arg_exprs. each |arg_expr| {
675+ self . use_expr ( * arg_expr, Read , visitor) ;
688676 }
689677
690678 return true ;
@@ -737,20 +725,7 @@ pub impl VisitContext {
737725 receiver_expr: @expr,
738726 visitor : vt < VisitContext > )
739727 {
740- let callee_mode = match self . method_map . find ( & expr_id) {
741- Some ( ref method_map_entry) => {
742- match method_map_entry. explicit_self {
743- sty_by_ref => by_ref,
744- _ => by_copy
745- }
746- }
747- None => {
748- self . tcx . sess . span_bug (
749- span,
750- ~"no method map entry") ;
751- }
752- } ;
753- self . use_fn_arg ( callee_mode, receiver_expr, visitor) ;
728+ self . use_fn_arg ( by_copy, receiver_expr, visitor) ;
754729 }
755730
756731 fn use_fn_args ( & self ,
0 commit comments