[Issue 6939] shared pointers are type combined incorrectly

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Nov 12 11:50:57 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6939



--- Comment #1 from timon.gehr at gmx.ch 2011-11-12 11:50:15 PST ---
Oops.

Obviously x and z should not have a common type at all.
So the third static assertion should not pass. (it currently fails for the
wrong reason though).

Replace the test with this:

shared    int* x;
immutable int* y;
const     int* z;

static assert(is(typeof(1?x:y)  == shared(const(int))*));  // fail
static assert(!is(typeof(1?x:y) == const(int)*));          // fail
static assert(!is(typeof(1?x:z)));                         // fail

shared    int[] a;
immutable int[] b;
const     int[] c;

static assert(is(typeof(1?a:b)  == shared(const(int))[])); // pass (ok)
static assert(!is(typeof(1?a:b) == const(int)[]));         // pass (ok)
static assert(!is(typeof(1?x:z)));                         // fail

All of these should pass.

-- 
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