[Issue 10413] .init incorrectly accepts any expression

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Nov 3 05:10:35 UTC 2019


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

Nicholas Wilson <iamthewilsonator at hotmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |iamthewilsonator at hotmail.co
                   |                            |m
         Resolution|---                         |INVALID

--- Comment #5 from Nicholas Wilson <iamthewilsonator at hotmail.com> ---
int foo() { return 1; }

static assert(foo.init == 0);

is a case of optional parentheses, as

char foo() { return 1; }

static assert(foo.init == 255);

passes, but 

int foo(int) { return 1; }

static assert(foo.init == 0);

fails with 

onlineapp.d(3): Error: function onlineapp.foo(int) is not callable using
argument types ()
onlineapp.d(3):        missing argument for parameter #1: int
onlineapp.d(3):        while evaluating: static assert((__error).init == 0)

closing as invalid

--


More information about the Digitalmars-d-bugs mailing list