// __DSTRESS_TORTURE_BLOCK__ -release
int main(){
try{
assert(0);
}catch(Throwable e){
checkLineNumber(e);
return 0;
}
assert(-1, "b");
return 1;
}
/*
* @WARNING@ this code depends on the phobos implementation.
* char[]s returned by wrong assertions have to look like:
* "blah blah (linenumber) blah blah"
*/
void checkLineNumber(Object o){
string x=o.toString();
int start;
for(start=0; start<x.length; start++){if(x[start]=='('){break;}}
int end;
for(end=start+1; end<x.length; end++){if(x[end]==')'){break;}}
assert(end-start==3);
assert(x[start+1 .. end]=="10", x[start+1 .. end]);
}