Mercurial > projects > dstress
view run/bug_20041226_E.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 | ec5e144583ea |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ h3r3tic <foo@bar.baz> // @date@ 2004-12-26 // @uri@ news:cqmufn$26oj$1@digitaldaemon.com // @uri@ http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=2606 module dstress.run.bug_20041226_E; void dummy(...){ } struct vec3{ vec3 opSub(vec3 a){ vec3 x; return x; } } struct Face{ vec3 a; } struct Mesh{ Face[] faces; } struct GeomObject{ Mesh mesh; string name; vec3 xlate; } class AseLoader{ this(){ GeomObject go; go.name = "NODE"; geomObjects ~= go; } GeomObject[] geomObjects; } void extractTriangles(GeomObject geomObj){ void foobar(){ try{ dummy("name: ", geomObj.name); return; }catch(Object err){ throw err; } } foobar(); } int main(){ try{ AseLoader al = new AseLoader; foreach(GeomObject go; al.geomObjects){ dummy("processing ", go.name); extractTriangles(go); } }catch(Object err){ dummy("Exception caught:", err); } return 0; }