Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 6f81db35825e78019dce3cfedb438bf266676fe9)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 5af7306aa8aedc45c7e1b675f42139b19edd2a7c)
@@ -1082,5 +1082,5 @@
 		AlternativeFinder funcOpFinder( indexer, env );
 		// it's ok if there aren't any defined function ops
-		funcOpFinder.maybeFind( opExpr);
+		funcOpFinder.maybeFind( opExpr );
 		PRINT(
 			std::cerr << "known function ops:" << std::endl;
Index: src/ResolvExpr/ConversionCost.cc
===================================================================
--- src/ResolvExpr/ConversionCost.cc	(revision 6f81db35825e78019dce3cfedb438bf266676fe9)
+++ src/ResolvExpr/ConversionCost.cc	(revision 5af7306aa8aedc45c7e1b675f42139b19edd2a7c)
@@ -20,4 +20,5 @@
 #include <string>                        // for operator==, string
 
+#include "Common/GC.h"                   // for new_static_root
 #include "ResolvExpr/Cost.h"             // for Cost
 #include "ResolvExpr/TypeEnvironment.h"  // for EqvClass, TypeEnvironment
@@ -353,6 +354,6 @@
 	void ConversionCost::postvisit( EnumInstType * ) {
 		static Type::Qualifiers q;
-		static BasicType integer( q, BasicType::SignedInt );
-		cost = costFunc( &integer, dest, indexer, env );  // safe if dest >= int
+		static BasicType* integer = new_static_root<BasicType>( q, BasicType::SignedInt );
+		cost = costFunc( integer, dest, indexer, env );  // safe if dest >= int
 		if ( cost < Cost::unsafe ) {
 			cost.incSafe();
