[Issue 17983] Integer literal should prefer int to char overload

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Nov 15 00:09:31 UTC 2017


https://issues.dlang.org/show_bug.cgi?id=17983

Mike <slavo5150 at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slavo5150 at yahoo.com

--- Comment #1 from Mike <slavo5150 at yahoo.com> ---
This doesn't appear to be a cast/conversion or overload problem.  What's
happening is the the compiler is keeping the first alias in lexical order, and
ignoring any other aliases.  i.e. the following works

alias foo = (int i) => 4;   // Notice int overload is first
alias foo = (char c) => 1;

enum int e = 7;
static assert(foo(e) == 4);

The compiler should probably emit an error on the second alias as foo is being
redefined, but it certainly shouldn't just silently ignore it.

--


More information about the Digitalmars-d-bugs mailing list