Fix contract breakage in TR.

This commit is contained in:
Eric Dobson 2014-05-26 09:57:05 -07:00
parent ff8ed078d5
commit da654f09bc
2 changed files with 4 additions and 3 deletions

View File

@ -123,7 +123,7 @@
;; vars : the variables that are the prefix of the dbound
;; dbound : index variable
(define/cond-contract (move-vars+rest-to-dmap cset vars dbound #:exact [exact? #f])
((cset? symbol? (listof symbol?)) (#:exact boolean?) . ->* . cset?)
((cset? (listof symbol?) symbol?) (#:exact boolean?) . ->* . cset?)
(mover cset dbound vars
(λ (cmap)
((if exact? make-dcon-exact make-dcon)

View File

@ -3,12 +3,13 @@
(require "../utils/utils.rkt"
(rep type-rep rep-utils)
(types abbrev union utils structural)
(prefix-in c: (contract-req))
racket/performance-hint
racket/list racket/match)
(provide/cond-contract
[var-promote (-> Type/c (listof symbol?) Type/c)]
[var-demote (-> Type/c (listof symbol?) Type/c)])
[var-promote (c:-> Type/c (c:listof symbol?) Type/c)]
[var-demote (c:-> Type/c (c:listof symbol?) Type/c)])
(define (V-in? V . ts)
(for/or ([e (in-list (append* (map fv ts)))])