[Issue 7019] implicit constructors are inconsistently allowed
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jan 10 00:58:28 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7019
Denis Shelomovskij <verylonglogin.reg at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |verylonglogin.reg at gmail.com
--- Comment #14 from Denis Shelomovskij <verylonglogin.reg at gmail.com> 2013-01-10 11:58:19 MSK ---
A testcase from dmd pull #1213 discussion
https://github.com/D-Programming-Language/dmd/pull/1213#issuecomment-10402603
---
struct S { this(int) { } }
struct S2 { S s; }
void f(S s) { }
// explicit, there is S here:
S s = 5; // ok
// implicit, there is no S here:
static assert(!__traits(compiles, f(5))); // ok
static assert(!__traits(compiles, { S2 s2 = 5; })); // ok
static assert(!__traits(compiles, { S2 s2 = S2(5); })); // ok
static assert(!__traits(compiles, { S2 s2 = { 5 }; })); // fails
static assert(!__traits(compiles, { S2 s2 = { s: 5 }; })); // fails
---
--
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