@@ -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 ;
0 commit comments