Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision d5f46131be643704ce63e4727b87001e3c5f3459)
+++ src/SynTree/Expression.cc	(revision 4ef08f76a55ae935c3aff3e628469cb6618b8ca8)
@@ -302,9 +302,8 @@
 }
 
-KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) {
-}
-
-KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) {
-}
+KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target ) : Expression(), arg(arg), target( target ) {}
+KeywordCastExpr::KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const KeywordCastExpr::Concrete & concrete_target ) : Expression(), arg(arg), target( target ), concrete_target(concrete_target) {}
+
+KeywordCastExpr::KeywordCastExpr( const KeywordCastExpr & other ) : Expression( other ), arg( maybeClone( other.arg ) ), target( other.target ) {}
 
 KeywordCastExpr::~KeywordCastExpr() {
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision d5f46131be643704ce63e4727b87001e3c5f3459)
+++ src/SynTree/Expression.h	(revision 4ef08f76a55ae935c3aff3e628469cb6618b8ca8)
@@ -248,4 +248,5 @@
 
 	KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target );
+	KeywordCastExpr( Expression * arg, AggregateDecl::Aggregate target, const Concrete & concrete_target );
 	KeywordCastExpr( const KeywordCastExpr & other );
 	virtual ~KeywordCastExpr();
