about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2014-04-24 06:17:58 -0400
committerNiko Matsakis <niko@alum.mit.edu>2014-04-24 19:59:49 -0400
commitd8a34e7d3f3f447ccff0b72fd5fb18a7c78d0cc5 (patch)
tree7dd32673ee049116b3e2532b18b9be8b0649ff79 /src
parent96dfed2b62c6e84a542f9a170133ec528e2191c2 (diff)
downloadrust-d8a34e7d3f3f447ccff0b72fd5fb18a7c78d0cc5.tar.gz
rust-d8a34e7d3f3f447ccff0b72fd5fb18a7c78d0cc5.zip
Convert delegate to use an object type and remove FIXME from closed issue
Diffstat (limited to 'src')
-rw-r--r--src/librustc/middle/expr_use_visitor.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/librustc/middle/expr_use_visitor.rs b/src/librustc/middle/expr_use_visitor.rs
index 17f423aa592..5848004e5be 100644
--- a/src/librustc/middle/expr_use_visitor.rs
+++ b/src/librustc/middle/expr_use_visitor.rs
@@ -104,10 +104,10 @@ pub trait Delegate {
 // supplies types from the tree. After type checking is complete, you
 // can just use the tcx as the typer.
 
-pub struct ExprUseVisitor<'d,'t,D,TYPER> {
+pub struct ExprUseVisitor<'d,'t,TYPER> {
     typer: &'t TYPER,
     mc: mc::MemCategorizationContext<'t,TYPER>,
-    delegate: &'d mut D,
+    delegate: &'d mut Delegate,
 }
 
 // If the TYPER results in an error, it's because the type check
@@ -126,10 +126,10 @@ macro_rules! ignore_err(
     )
 )
 
-impl<'d,'t,D:Delegate,TYPER:mc::Typer> ExprUseVisitor<'d,'t,D,TYPER> {
-    pub fn new(delegate: &'d mut D,
+impl<'d,'t,TYPER:mc::Typer> ExprUseVisitor<'d,'t,TYPER> {
+    pub fn new(delegate: &'d mut Delegate,
                typer: &'t TYPER)
-               -> ExprUseVisitor<'d,'t,D,TYPER> {
+               -> ExprUseVisitor<'d,'t,TYPER> {
         ExprUseVisitor { typer: typer,
                          mc: mc::MemCategorizationContext::new(typer),
                          delegate: delegate }
@@ -370,13 +370,10 @@ impl<'d,'t,D:Delegate,TYPER:mc::Typer> ExprUseVisitor<'d,'t,D,TYPER> {
             }
 
             ast::ExprAssignOp(_, lhs, rhs) => {
-                // FIXME(#4712) --- Overloaded operators?
-                //
-                // if !self.walk_overloaded_operator(expr, [lhs, rhs])
-                // {
+                // This will have to change if/when we support
+                // overloaded operators for `+=` and so forth.
                 self.mutate_expr(expr, lhs, WriteAndRead);
                 self.consume_expr(rhs);
-                // }
             }
 
             ast::ExprRepeat(base, count) => {