kenmcmil / ivy

IVy is a research tool intended to allow interactive development of protocols and their proofs of correctness and to provide a platform for developing and experimenting with automated proof techniques. In particular, IVy provides interactive visualization of automated proofs, and supports a use model in which the human protocol designer and the automated tool interact to expose errors and prove correctness.
Other
77 stars 24 forks source link

Incorrect "wrong number of input parameters" error #54

Open ArneVogel opened 2 years ago

ArneVogel commented 2 years ago

Hello,

I was checking out the toy_consensus.ivy from the examples: https://github.com/kenmcmil/ivy/blob/master/doc/examples/toy_consensus.ivy

When trying to compile the example to cpp I get the following error:

$ ivy_to_cpp target=test isolate=iso_impl toy_consensus.ivy 
toy_consensus.ivy: line 217: error: wrong number of input parameters

which references a call to shim.bcast call shim.bcast(self,msg);. Which is defined as follows:

    action bcast(src:node,m:msg)

Which seems to take two input parameters? When changing the call from call shim.bcast(self,msg); to either call shim.bcast(self); or call shim.bcast(self,msg,msg); I get the following errors:

toy_consensus.ivy: line 217: error: wrong number of input parameters (got 1, expecting 2)
toy_consensus.ivy: line 217: error: wrong number of input parameters (got 3, expecting 2)

When commenting out the call in line 217, ivy_to_cpp successfully compiles to cpp. Even though there are other calls to shim.bcast in the file with two arguments, e.g. in lines 233 call shim.bcast(self,reply);