On Mon, 12 Nov 2018 09:45:14 +0000, Mike Parker wrote: > From Example B in the DIP: > > ``` > int f(bool b) { return 1; } > int f(int i) { return 2; } > > enum E : int { > a = 0, > b = 1, > c = 2, > } > ``` > > Here, f(a) and f(b) call the bool overload, while f(c) calls the int > version. This works because D selects the overload with the tightest > conversion. This behavior is consistent across all integral types.
enum : int { a = 0 } enum A : int { a = 0 } f(a); // calls the int overload f(A.a); // calls the bool overload Tell me more about this "consistency".