view run/sort_02.d @ 1623:04022926a4d5

Fix dstress.run.b.bug_cod1_2528_C as reported by Don Clugston Quoting Don's words from Ticket #8: Fails because it returns 3 instead of 0. The DStress test case is incorrect. The arrray literal is an int, so it's 4 bytes. Casting it to void[] should give a length of 4 -- and that's exactly what it does. Should be "return x.length - 4;".
author Leandro Lucarella <llucax@gmail.com>
date Fri, 05 Nov 2010 10:10:51 -0300
parents 32f7f8ce5e51
children
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

module dstress.run.sort_02;

int main(){
	byte a[];
	a.length=7;
	a[0]=byte.max;
	a[1]=byte.max-1;
	a[2]=1;
	a[3]=0;
	a[4]=-1;
	a[5]=byte.min;
	a[6]=byte.min+1;

	byte[] b=a.sort;

	assert(a.length==7);
	assert(a[0]==byte.min);
	assert(a[1]==byte.min+1);
	assert(a[2]==-1);
	assert(a[3]==0);
	assert(a[4]==1);
	assert(a[5]==byte.max-1);
	assert(a[6]==byte.max);

	assert(b.length==7);
	assert(b[0]==byte.min);
	assert(b[1]==byte.min+1);
	assert(b[2]==-1);
	assert(b[3]==0);
	assert(b[4]==1);
	assert(b[5]==byte.max-1);
	assert(b[6]==byte.max);

	assert(&a != &b);
	assert(a.ptr is b.ptr);
	
	return 0;
}