I just tried:import core.stdc.stdio; void foo(char c) { printf("char\n"); } void foo(int c) { printf("int\n"); } void main() { enum int e = 1; foo(e); foo(1); foo('c'); } and it prints: int int char
The code posted was incorrect. See http://forum.dlang.org/post/mailman.154.1510704335.9493.digitalmar...@puremagic.com