[Issue 10843] Combinatorial problem of struct & alias this & null
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Aug 17 23:53:50 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10843
Maxim Fomin <maxim at maxim-fomin.ru> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |maxim at maxim-fomin.ru
Resolution| |INVALID
--- Comment #1 from Maxim Fomin <maxim at maxim-fomin.ru> 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: -------
More information about the Digitalmars-d-bugs
mailing list