diff --git a/src/dcast.d b/src/dcast.d index 9863caa85862..e6f771e1300e 100644 --- a/src/dcast.d +++ b/src/dcast.d @@ -1633,7 +1633,7 @@ extern (C++) Expression castTo(Expression e, Scope* sc, Type t) } Lok: - result = new CastExp(e.loc, e, tob); + result = new CastExp(e.loc, e, t); result.type = t; // Don't call semantic() //printf("Returning: %s\n", result->toChars()); } diff --git a/test/compilable/test16570.d b/test/compilable/test16570.d new file mode 100644 index 000000000000..20b848576055 --- /dev/null +++ b/test/compilable/test16570.d @@ -0,0 +1,8 @@ +static immutable int _a = 0; + +enum Regression +{ + a = _a, +} + +static assert(is(typeof(Regression.a) == Regression));