Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#761 closed defect (fixed)

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

Reported by: felix Owned by: felix
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 7 years ago by felix

  • Milestone set to 4.8.0

comment:2 Changed 7 years ago by felix

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 7 years ago by felix

  • Milestone changed from 4.8.0 to 4.9.0

Milestone 4.8.0 deleted

Note: See TracTickets for help on using tickets.