http://d.puremagic.com/issues/show_bug.cgi?id=10843
Maxim Fomin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] Resolution| |INVALID --- Comment #1 from Maxim Fomin <[email protected]> 2013-08-17 23:53:49 PDT --- This is invalid report in all there cases. 1) is implicit construction for which constructor with respective arguments should be defined (as provided in second example). 2) is implicit construction on argument passing for which variardic functions do exists. Spec is explicit that for such cases ctor is required. 3) same as #2 with difference that now function is a ctor This is compilable: unittest { static struct HANDLE { void* h; alias h this; } //HANDLE a = null; // NG HANDLE a; a = null; // OK } unittest { static struct HANDLE { void* h; alias h this; this(void* h) { this.h = h; } } HANDLE a = null; // OK static void foo(HANDLE h ...){} foo(null); // OK } unittest { static struct HANDLE { void* h; alias h this; this(void* h) { this.h = h; } } static struct WSAEVENT { HANDLE h; alias h this; this(HANDLE h ...) { this.h = h; } } auto a = cast(HANDLE)null; // OK auto b = cast(WSAEVENT)null; // OK } void main() {} -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
