Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 206ecae05ee6d8fc4268a9a62d27a92756a765fe)
+++ src/Parser/parser.yy	(revision 4558df29929781e8d911ce6cdc5f0dfac9ef0d8b)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Aug 12 10:21:46 2024
-// Update Count     : 6737
+// Last Modified On : Tue Aug 13 11:25:16 2024
+// Update Count     : 6740
 //
 
@@ -952,5 +952,5 @@
 		}
 	| COUNTOF unary_expression
-		{  $$ = new ExpressionNode( new ast::CountExpr( yylloc, maybeMoveBuild( $2 ) ) ); }
+		{ $$ = new ExpressionNode( new ast::CountExpr( yylloc, maybeMoveBuild( $2 ) ) ); }
 	| COUNTOF '(' type_no_function ')'
 		{ $$ = new ExpressionNode( new ast::CountExpr( yylloc, maybeMoveBuildType( $3 ) ) ); }
@@ -1626,12 +1626,18 @@
 enum_key:
 	type_name
-		{	typedefTable.makeTypedef( *$1->symbolic.name, "enum_type_nobody 1" );
-			$$ = DeclarationNode::newEnum( $1->symbolic.name, nullptr, false, false ); }
+		{
+			typedefTable.makeTypedef( *$1->symbolic.name, "enum_type_nobody 1" );
+			$$ = DeclarationNode::newEnum( $1->symbolic.name, nullptr, false, false );
+		}
 	| ENUM identifier
-		{	typedefTable.makeTypedef( *$2, "enum_type_nobody 2" );
-			$$ = DeclarationNode::newEnum( $2, nullptr, false, false ); }
+		{
+			typedefTable.makeTypedef( *$2, "enum_type_nobody 2" );
+			$$ = DeclarationNode::newEnum( $2, nullptr, false, false );
+		}
 	| ENUM type_name
-		{	typedefTable.makeTypedef( *$2->symbolic.name, "enum_type_nobody 3" );
-			$$ = DeclarationNode::newEnum( $2->symbolic.name, nullptr, false, false ); }
+		{
+			typedefTable.makeTypedef( *$2->symbolic.name, "enum_type_nobody 3" );
+			$$ = DeclarationNode::newEnum( $2->symbolic.name, nullptr, false, false );
+		}
 	;
 
@@ -3238,8 +3244,11 @@
 
 trait_declaring_list:									// CFA
-	type_specifier declarator
+		// Cannot declare an aggregate or enumeration in a trait.
+	type_specifier_nobody declarator
 		{ $$ = $2->addType( $1 ); }
 	| trait_declaring_list ',' declarator
 		{ $$ = $1->set_last( $1->cloneBaseType( $3 ) ); }
+	| error
+		{ SemanticError( yylloc, "Possible cause is declaring an aggregate or enumeration type in a trait." ); $$ = nullptr; }
 	;
 
