(new topic because old is mired in a long and clumsy source code)

============
import std.stdio;

static ubyte func( ulong value )
out( arr )
{
    writeln( "out contract, value=", value );
}
body
{
    writeln( "body, value=", value );
    ubyte res;
    value >>= 7;
    return res;
}

void main()
{
    func( 2 );
}
============

$ ./bug
body, value=2
out contract, value=0

Why argument "value" in contract isn't equal 2 ?

Reply via email to