Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/AST/Convert.cpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -1875,5 +1875,5 @@
 		auto&& type = GET_ACCEPT_1(type, Type);
 		auto&& attr = GET_ACCEPT_V(attributes, Attribute);
- 
+
 		auto decl = new ast::InlineMemberDecl(
 			old->location,
Index: src/AST/Decl.hpp
===================================================================
--- src/AST/Decl.hpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/AST/Decl.hpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -397,4 +397,5 @@
 };
 
+/// Static Assertion `_Static_assert( ... , ... );`
 class StaticAssertDecl : public Decl {
 public:
@@ -411,4 +412,5 @@
 };
 
+/// Inline Member Declaration `inline TypeName;`
 class InlineMemberDecl final : public DeclWithType {
 public:
@@ -428,4 +430,5 @@
 	MUTATE_FRIEND
 };
+
 }
 
Index: src/AST/Pass.hpp
===================================================================
--- src/AST/Pass.hpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/AST/Pass.hpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -141,5 +141,5 @@
 	const ast::DirectiveDecl *    visit( const ast::DirectiveDecl        * ) override final;
 	const ast::StaticAssertDecl * visit( const ast::StaticAssertDecl     * ) override final;
-	const ast::DeclWithType	*     visit( const ast::InlineMemberDecl      * ) override final;
+	const ast::DeclWithType	*     visit( const ast::InlineMemberDecl     * ) override final;
 	const ast::CompoundStmt *     visit( const ast::CompoundStmt         * ) override final;
 	const ast::Stmt *             visit( const ast::ExprStmt             * ) override final;
Index: src/AST/Pass.impl.hpp
===================================================================
--- src/AST/Pass.impl.hpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/AST/Pass.impl.hpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -803,5 +803,5 @@
 
 //--------------------------------------------------------------------------
-// DeclWithType
+// InlineMemberDecl
 template< typename core_t >
 const ast::DeclWithType * ast::Pass< core_t >::visit( const ast::InlineMemberDecl * node ) {
Index: src/AST/Visitor.hpp
===================================================================
--- src/AST/Visitor.hpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/AST/Visitor.hpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -33,5 +33,5 @@
     virtual const ast::DirectiveDecl *    visit( const ast::DirectiveDecl        * ) = 0;
     virtual const ast::StaticAssertDecl * visit( const ast::StaticAssertDecl     * ) = 0;
-    virtual const ast::DeclWithType *     visit( const ast::InlineMemberDecl      * ) = 0;
+    virtual const ast::DeclWithType *     visit( const ast::InlineMemberDecl     * ) = 0;
     virtual const ast::CompoundStmt *     visit( const ast::CompoundStmt         * ) = 0;
     virtual const ast::Stmt *             visit( const ast::ExprStmt             * ) = 0;
Index: src/Validate/EnumAndPointerDecay.cpp
===================================================================
--- src/Validate/EnumAndPointerDecay.cpp	(revision 7491f97ce347c5cf9ec345dead121d7239514c81)
+++ src/Validate/EnumAndPointerDecay.cpp	(revision 19a8c403fb93aa73a6fcbdb1fe3f32f62a4dfa0a)
@@ -41,22 +41,25 @@
 	auto mut = ast::mutate( decl );
 	std::vector<ast::ptr<ast::Decl>> buffer;
-	for ( auto it = decl->members.begin(); it != decl->members.end(); ++it ) {
-		if ( ast::ObjectDecl const * object = (*it).as<ast::ObjectDecl>() ) {
-			buffer.push_back( ast::mutate_field( object, &ast::ObjectDecl::type, new ast::EnumInstType( decl, ast::CV::Const ) ) );
-		} else if ( ast::InlineMemberDecl const * value = (*it).as<ast::InlineMemberDecl>() ) {
+	for ( auto member : decl->members ) {
+		if ( ast::ObjectDecl const * object = member.as<ast::ObjectDecl>() ) {
+			buffer.push_back( ast::mutate_field( object,
+				&ast::ObjectDecl::type,
+				new ast::EnumInstType( decl, ast::CV::Const ) ) );
+		} else if ( auto value = member.as<ast::InlineMemberDecl>() ) {
 			if ( auto targetEnum = symtab.lookupEnum( value->name ) ) {
-				for ( auto singleMember : targetEnum->members ) {
-					auto copyingMember = singleMember.as<ast::ObjectDecl>();
+				for ( auto enumMember : targetEnum->members ) {
+					auto enumObject = enumMember.strict_as<ast::ObjectDecl>();
 					buffer.push_back( new ast::ObjectDecl(
-						value->location, // use the "inline" location
-						copyingMember->name,
+						// Get the location from the "inline" declaration.
+						value->location,
+						enumObject->name,
+						// Construct a new EnumInstType as the type.
 						new ast::EnumInstType( decl, ast::CV::Const ),
-						// Construct a new EnumInstType as the type
-						copyingMember->init,
-						copyingMember->storage,
-						copyingMember->linkage,
-						copyingMember->bitfieldWidth,
+						enumObject->init,
+						enumObject->storage,
+						enumObject->linkage,
+						enumObject->bitfieldWidth,
 						{},
-						copyingMember->funcSpec
+						enumObject->funcSpec
 					) );
 				}
