Closed wmanshu closed 5 years ago
Firstly, the syntax [:[]]
doesn't really make any sense. I finally figured out what you were talking about with self.bids = [:]
, and you're right, any contract or struct field equivalent to
contract ExampleContract {
var x: [Address: [ExampleStruct]] = [:] // Also fails with `let`
}
currently fail a Boogie post-condition, that must be generated somewhere by the verification system. I am having a look into this problem now.
It would be more helpful in the future to provide simplified but implicitly complete examples of issues rather than your code to help diagnose them. For example, your fields are completely out of context, etc.
If I initialize this global variable
var bids : [Address : [Bid]]
usingself.bids = [:[]]
. I get this error:If I initialize it by
self.bids = [:]
, then error message says post condition not holds Where Bid is a self-defined struct