Index: src/ResolvExpr/Resolver.cpp
===================================================================
--- src/ResolvExpr/Resolver.cpp	(revision d031f7ff06adf9bf614f483196477df67828172f)
+++ src/ResolvExpr/Resolver.cpp	(revision 47174c452bcb61ccfd3e5562b040e07752c6ca43)
@@ -201,11 +201,9 @@
 				&& typesCompatible( castExpr->arg->result, castExpr->result )
 			) {
-				auto argAsEnum = castExpr->arg.as<ast::EnumInstType>();
-				auto resultAsEnum = castExpr->result.as<ast::EnumInstType>();
-				if (argAsEnum && resultAsEnum) {
-					if (argAsEnum->base->name != resultAsEnum->base->name) {
-						std::cerr << "Enum Cast: " << argAsEnum->base->name << " to " << resultAsEnum->base->name << std::endl;
-						return castExpr;
-					}
+				ast::EnumInstType const * arg, * result;
+				if ( ( result = castExpr->result.as<ast::EnumInstType>() ) &&
+						( arg = castExpr->arg.as<ast::EnumInstType>() ) &&
+						arg->base->name != result->base->name) {
+					return castExpr;
 				}
 				// generated cast is the same type as its argument, remove it after keeping env
