Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 24670d2ac1cef6f83f04f03611d89b2419c67666)
+++ src/SymTab/Indexer.cc	(revision 7d05e7e1d81b9041e298ff69ebfbf7fdff9b0733)
@@ -105,6 +105,6 @@
 
 	void Indexer::removeSpecialOverrides( const std::string &id, std::list< DeclarationWithType * > & out ) const {
-		// only need to perform this step for constructors and destructors
-		if ( ! InitTweak::isCtorDtor( id ) ) return;
+		// only need to perform this step for constructors, destructors, and assignment functions
+		if ( ! InitTweak::isCtorDtorAssign( id ) ) return;
 
 		// helpful data structure
@@ -127,5 +127,5 @@
 				bool isUserDefinedFunc = ! LinkageSpec::isOverridable( function->get_linkage() );
 				bool isDefaultFunc = function->get_functionType()->get_parameters().size() == 1;
-				bool isCopyFunc = InitTweak::isCopyConstructor( function );
+				bool isCopyFunc = InitTweak::isCopyFunction( function, function->get_name() );
 				decls.push_back( DeclBall{ function, isUserDefinedFunc, isDefaultFunc, isCopyFunc } );
 				userDefinedFunc = userDefinedFunc || isUserDefinedFunc;
