Index: src/Parser/DeclarationNode.cpp
===================================================================
--- src/Parser/DeclarationNode.cpp	(revision 2f317733f059f66b5e61a69d0dccbb26fd2459fc)
+++ src/Parser/DeclarationNode.cpp	(revision afb15cfcfe805e4a6a4f0f183c6d2fcd6a5137bb)
@@ -999,4 +999,10 @@
 	assert( type );
 
+	// Some types are parsed as declarations and, syntactically, can have
+	// initializers. However, semantically, this is meaningless.
+	if ( initializer ) {
+		SemanticError( this, "Initializer on type declaration " );
+	}
+
 	switch ( type->kind ) {
 	case TypeData::Aggregate: {
