Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision 85855b0f02c6f17de398969fbe7ab4810d76737a)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision 525f7ad65aaee3be785c86c188b191a2450ac8cc)
@@ -696,4 +696,5 @@
 		void postvisit( const ast::UntypedInitExpr * initExpr );
 		void postvisit( const ast::QualifiedNameExpr * qualifiedExpr );
+		void postvisit( const ast::CountExpr * countExpr );
 
 		const ast::Expr * makeEnumOffsetCast( const ast::EnumInstType * src, 
@@ -1527,4 +1528,13 @@
 			addCandidate( *choice, new ast::SizeofExpr{ sizeofExpr->location, choice->expr } );
 		}
+	}
+
+	void Finder::postvisit( const ast::CountExpr * countExpr ) {
+		assert( countExpr->type );
+		auto enumInst = countExpr->type.as<ast::EnumInstType>();
+		if ( !enumInst ) {
+			SemanticError( countExpr, "Count Expression only supports Enum Type as operand: ");
+		}
+		addCandidate( ast::ConstantExpr::from_ulong(countExpr->location, enumInst->base->members.size()), tenv );
 	}
 
