Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 940bba39c1771f035b99e2eb760a39c88b07ff44)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 119745ef055bf16dd4f30b70ce0515efa63f806b)
@@ -336,12 +336,12 @@
 				std::cerr << std::endl << " to ";
 				assert->second.formalType->print( std::cerr, 8 );
-				)
-				Cost newCost = conversionCost( assert->second.actualType, assert->second.formalType, indexer, alt.env );
+			)
+			Cost newCost = conversionCost( assert->second.actualType, assert->second.formalType, indexer, alt.env );
 			PRINT(
 				std::cerr << std::endl << "cost of conversion is " << newCost << std::endl;
-				)
-				if ( newCost == Cost::infinity ) {
-					return newCost;
-				}
+			)
+			if ( newCost == Cost::infinity ) {
+				return newCost;
+			}
 			convCost += newCost;
 
Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 940bba39c1771f035b99e2eb760a39c88b07ff44)
+++ src/SymTab/Indexer.cc	(revision 119745ef055bf16dd4f30b70ce0515efa63f806b)
@@ -145,5 +145,7 @@
 				std::list< DeclarationWithType * > params = function->get_functionType()->get_parameters();
 				assert( ! params.empty() );
-				funcMap[ Mangler::mangle( params.front()->get_type() ) ] += function;
+				// use base type of pointer, so that qualifiers on the pointer type aren't considered.
+				Type * base = safe_dynamic_cast< PointerType * >( params.front()->get_type() )->get_base();
+				funcMap[ Mangler::mangle( base ) ] += function;
 			} else {
 				out.push_back( decl );
