scope failure

BCS BCS at pathlink.com
Tue Jun 20 08:59:53 PDT 2006


Sorry for that empty post <:-P

What might be happening (under 0.160) is that under some conditions DMD 
will insert an assert(0) at then end of a function to catch the 
no-return-statement bug. It's not supposed to do that with a void 
function but who knows.


nobody wrote:
> In article <optbfpq9sx23k2f5 at nrage>, Regan Heath says...
> 
>>On Tue, 20 Jun 2006 07:52:00 +0000 (UTC), nobody  
>><nobody_member at pathlink.com> wrote:
>>
>>>i try to learn the scope statements.
>>>
>>>import std.stdio;
>>>
>>>void main() {
>>>{
>>>scope(failure) writefln("5");
>>>//writefln("Hallo");
>>>}
>>>}
>>>
>>>The output from the program is 5. If i comment the writefln in, then it  
>>>only
>>>print Hallo.
>>>Is this the correct behavier?
>>>I have thougt scope(failure) will only execute when the scope exit
>>>abnormaly by throw. The 5 should never be occur by thi example.
>>
>>It seems to trigger when the scope is empty, putting any other valid  
>>statement in the scope with the scope(failure) statement stops the output  
>>of "5". I suspect this is a bug.
>>
>>Regan
> 
> 
> 
> He, funny
> Under dmd 161, it run correct now.
> 
> Thank you
> 
> 



More information about the Digitalmars-d-learn mailing list