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 ```
issue