Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#761 closed defect (fixed)

type-var unification for complex "pair" types not always right

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone: 4.9.0
Component: compiler Version: 4.7.x
Keywords: scrutinizer Cc:
Estimated difficulty:

Description

Consider:

(print (assq 'foo (the (pair (pair symbol fixnum) (pair (pair char fixnum) list)) x)))

Matching (list-of (pair a b)) with the argument will unify a and b and then fail on the cdr of the pair type. This needs to be done analogous to a union type instead, so that multiple instantiations of the type variables are handled.

Change History (3)

comment:1 Changed 8 years ago by felix winkelmann

Milestone: 4.8.0

comment:2 Changed 8 years ago by felix winkelmann

Resolution: fixed
Status: newclosed

comment:3 Changed 8 years ago by felix winkelmann

Milestone: 4.8.04.9.0

Milestone 4.8.0 deleted

Note: See TracTickets for help on using tickets.