#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 13 years ago by
Milestone: | → 4.8.0 |
---|
comment:2 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:3 Changed 12 years ago by
Milestone: | 4.8.0 → 4.9.0 |
---|
Note: See
TracTickets for help on using
tickets.
Milestone 4.8.0 deleted