Index: src/Tuples/TupleExpansion.cc
===================================================================
--- src/Tuples/TupleExpansion.cc	(revision 141b7868c72c7947affae41e61e4bfcd7f9c6652)
+++ src/Tuples/TupleExpansion.cc	(revision 687165a1fc8dc7460bcbc337dc00177750401c8d)
@@ -32,15 +32,18 @@
 namespace Tuples {
 	namespace {
-		class MemberTupleExpander : public Mutator {
+		class MemberTupleExpander final : public Mutator {
 		public:
 			typedef Mutator Parent;
-			virtual Expression * mutate( UntypedMemberExpr * memberExpr );
-		};
-
-		class UniqueExprExpander : public GenPoly::DeclMutator {
+			using Parent::mutate;
+
+			virtual Expression * mutate( UntypedMemberExpr * memberExpr ) override;
+		};
+
+		class UniqueExprExpander final : public GenPoly::DeclMutator {
 		public:
 			typedef GenPoly::DeclMutator Parent;
-
-			virtual Expression * mutate( UniqueExpr * unqExpr );
+			using Parent::mutate;
+
+			virtual Expression * mutate( UniqueExpr * unqExpr ) override;
 
 			std::map< int, Expression * > decls; // not vector, because order added may not be increasing order
@@ -56,4 +59,6 @@
 		public:
 			typedef Mutator Parent;
+			using Parent::mutate;
+
 			virtual Expression * mutate( TupleAssignExpr * tupleExpr );
 		};
@@ -62,8 +67,9 @@
 		  public:
 			typedef GenPoly::DeclMutator Parent;
-
-			virtual Type * mutate( TupleType * tupleType );
-
-			virtual CompoundStmt * mutate( CompoundStmt * stmt ) {
+			using Parent::mutate;
+
+			virtual Type * mutate( TupleType * tupleType ) override;
+
+			virtual CompoundStmt * mutate( CompoundStmt * stmt ) override {
 				typeMap.beginScope();
 				stmt = Parent::mutate( stmt );
@@ -75,14 +81,18 @@
 		};
 
-		class TupleIndexExpander : public Mutator {
+		class TupleIndexExpander final : public Mutator {
 		public:
 			typedef Mutator Parent;
-			virtual Expression * mutate( TupleIndexExpr * tupleExpr );
-		};
-
-		class TupleExprExpander : public Mutator {
+			using Parent::mutate;
+
+			virtual Expression * mutate( TupleIndexExpr * tupleExpr ) override;
+		};
+
+		class TupleExprExpander final : public Mutator {
 		public:
 			typedef Mutator Parent;
-			virtual Expression * mutate( TupleExpr * tupleExpr );
+			using Parent::mutate;
+			
+			virtual Expression * mutate( TupleExpr * tupleExpr ) override;
 		};
 	}
@@ -318,3 +328,2 @@
 // compile-command: "make install" //
 // End: //
-
