ACSL typing fails when performing unification of type variables
ID0002170: This issue was created automatically from Mantis Issue 2170. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0002170 | Frama-C | Kernel > ACSL implementation | public | 2015-09-24 | 2015-09-24 |
Reporter | patrick | Assigned To | virgile | Resolution | open |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | - | Target Version | - | Fixed in Version | - |
Description :
Frama-C fails while typing the given ACSL axiomatic.
Additional Information :
Typing is succesful when axiom "a" is replaced by: @ axiom a: P(aList,Nil);
Steps To Reproduce :
> cat list.i
//@ type List<A> = Nil | Cons(A,List<A>);
/*@ axiomatic L {
@ predicate P<B>(List<B> l1, List<B> l2);
@ logic List<integer> aList{L} ;
@ axiom a: P(Nil, aList);
@ }
@*/
> frama-c list.i
...
../tests/list.i:8:[kernel] user error: invalid implicit conversion from ℤ to A#4
Edited by Virgile Prevosto