int main(){
try{
assert(0);
}catch(Object o){
checkLineNumber(o);
return 0;
}
assert(-1);
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(); printf("%.*s\n", x);
int start;
for(start=0; start<x.length; start++){if(x[start]=='('){break;}}
int end;
for(end=x.length-1; end>start; end--){ if(x[end]==')'){ break;} }
assert(end-start==2);
assert(x[start+1]=='6');
}