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