Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 54d4c0edd6fd383af181d0337111c98f18f0ea3f)
+++ src/AST/Convert.cpp	(revision 8568319cdf3716df8475d6ce16c124458cff3935)
@@ -749,5 +749,9 @@
 			break;
 		case ast::ConstantExpr::String:
-			rslt = new ConstantExpr{Constant::from_string( node->rep )};
+			rslt = new ConstantExpr{Constant{
+				get<Type>().accept1( node->result ),
+				node->rep,
+				(long long unsigned int)0
+			}};
 			break;
 		}
@@ -2150,5 +2154,6 @@
 				GET_ACCEPT_1(result, Type),
 				old->constant.get_value(),
-				(unsigned long long) old->intValue()
+				(unsigned long long) old->intValue(),
+				ast::ConstantExpr::Kind::Integer
 			);
 		} else if (isFloatlikeConstantType(old->result)) {
@@ -2160,7 +2165,10 @@
 			);
 		} else if (isStringlikeConstantType(old->result)) {
-			rslt = ast::ConstantExpr::from_string(
-				old->location,
-				old->constant.get_value()
+			rslt = new ast::ConstantExpr(
+				old->location,
+				GET_ACCEPT_1(result, Type),
+				old->constant.get_value(),
+				0,
+				ast::ConstantExpr::Kind::String
 			);
 		}
