Typing rejects polymorphic logic constants
ID0001291: This issue was created automatically from Mantis Issue 1291. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0001291 | Frama-C | Kernel > ACSL implementation | public | 2012-10-26 | 2012-10-31 |
Reporter | cmarche | Assigned To | virgile | Resolution | open |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Oxygen-20120901 | Target Version | - | Fixed in Version | - |
Description :
The followingACSL declaration should be valid
axiomatic Bag { type bag; logic bag empty; }
but is rejected by typing :
[kernel] user error: some type variable appears only in the return type. All type variables need to occur also in the parameters types. in annotation.
Additional Information :
I know it is annoying to implement since it requires a full-fledged type inference algorithm. But I don't see any way to avoid it...