Closed nickbattle closed 4 years ago
The union is created because the type of the post_poly function links back to both the main poly function definition and the postpoly definition. So the type looked like a union of both functions, which is wrong. The fix is to re-built the definition links in the methods that create the pre and post_ function definitions.
Fix now available in ncb/development.
The following spec raises a warning, rather than an error as it should:
The problem is that the type checker is calculating the wrong type for the polymorphic postcondition function, thinking it is a union, which causes the error to be downgraded to a warning, incorrectly. VDMJ correctly produces the following: