Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 906e24deeab82aafdd4cbb08fb896c8ffe5b99e0)
+++ src/SymTab/Indexer.cc	(revision 4ab95362ad50a8877c73267b3b411c0bf7ba8f3e)
@@ -452,7 +452,10 @@
 	}
 
-	void Indexer::visit( SolvedTupleExpr *tupleExpr ) {
+	void Indexer::visit( TupleAssignExpr *tupleExpr ) {
 		acceptNewScope( tupleExpr->get_result(), *this );
-		acceptAll( tupleExpr->get_exprs(), *this );
+		enterScope();
+		acceptAll( tupleExpr->get_tempDecls(), *this );
+		acceptAll( tupleExpr->get_assigns(), *this );
+		leaveScope();
 	}
 
Index: src/SymTab/Indexer.h
===================================================================
--- src/SymTab/Indexer.h	(revision 906e24deeab82aafdd4cbb08fb896c8ffe5b99e0)
+++ src/SymTab/Indexer.h	(revision 4ab95362ad50a8877c73267b3b411c0bf7ba8f3e)
@@ -64,9 +64,9 @@
 		virtual void visit( ConditionalExpr *conditionalExpr );
 		virtual void visit( CommaExpr *commaExpr );
-		virtual void visit( TupleExpr *tupleExpr );
-		virtual void visit( SolvedTupleExpr *tupleExpr );
 		virtual void visit( TypeExpr *typeExpr );
 		virtual void visit( AsmExpr *asmExpr );
 		virtual void visit( UntypedValofExpr *valofExpr );
+		virtual void visit( TupleExpr *tupleExpr );
+		virtual void visit( TupleAssignExpr *tupleExpr );
 
 		virtual void visit( TraitInstType *contextInst );
