Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision b0d9ff7d1c0e2e2925b14ceb97f88762bde87c64)
+++ src/ResolvExpr/Resolver.cc	(revision 12df6fe35a1d7d73a64293320db6c3a0b195af33)
@@ -1478,7 +1478,7 @@
 			// enum type is still incomplete at this point. Use `int` instead.
 
-			if (dynamic_cast< const ast::EnumInstType * >( objectDecl->get_type() )->base->base) {
+			if ( auto enumBase = dynamic_cast< const ast::EnumInstType * >
+				( objectDecl->get_type() )->base->base ) {
 				objectDecl = fixObjectType( objectDecl, context );
-				const ast::Type * enumBase =  (dynamic_cast< const ast::EnumInstType * >( objectDecl->get_type() )->base->base.get());
 				currentObject = ast::CurrentObject{ 
 					objectDecl->location, 
@@ -1493,5 +1493,5 @@
 		}
 		else {
-			if (!objectDecl->isTypeFixed) {
+			if ( !objectDecl->isTypeFixed ) {
 				auto newDecl = fixObjectType(objectDecl, context);
 				auto mutDecl = mutate(newDecl);
