On 09/19/13 12:58, Peter Alexander wrote:
> On Thursday, 19 September 2013 at 10:44:32 UTC, monarch_dodra wrote:
>> On Thursday, 19 September 2013 at 10:38:37 UTC, Joseph Rushton Wakeling 
>> wrote:
>>> On 18/09/13 14:11, monarch_dodra wrote:
>>>> IMO, this is wrong. When calling a function with an out contract, the 
>>>> arguments
>>>> should *also* be passed to the out contract directly. "out" should not be
>>>> expected to run on the body's "sloppy seconds".
>>>
>>> I'm not sure I understand your objection here.  As I understood it the 
>>> whole point of an "out" contract was to check the state of everything 
>>> _after the function has exited_.
>>
>> Exactly.
>>
>> If the function has already exited, then why is the state of he arguments 
>> modified? I though pass by value meant that the function operated on its own 
>> copy?
> 
> What exactly would you like this to do? v only exists inside the body of the 
> function. There is no v after the function exits. If you check v in the 
> output contract then you are checking the final value of v.

That "final value of v" is not part of any contract, it's just a private
local.

artur

Reply via email to