The Code below still works, so I guess it's some problem with the constraint of "exists". ---- import std.stdio; enum Foo { A = "B" } void test(string a) { } void main() { test(Foo.A); Foo.A.test(); } ----