Abstract over dotted type in values.

original commit: f3fa035751dcf6cedac451f752211b65840df07a
This commit is contained in:
Eric Dobson 2014-05-13 21:00:50 -07:00
parent 8069311cf8
commit 871f8a5ca3
2 changed files with 12 additions and 1 deletions

View File

@ -80,7 +80,8 @@
(-result (abstract-type arg-names keys t)
(abstract-filter arg-names keys f)
(abstract-object arg-names keys o)))
dty dbound)]
(abstract-type arg-names keys dty)
dbound)]
[(tc-results: ts fs os)
(make-Values
(for/list ([t (in-list ts)] [f (in-list fs)] [o (in-list os)])

View File

@ -2959,6 +2959,16 @@
#:expected (ret (-polydots (a) (->... (list) (a a) (-values-dots (list) a 'a))))]
[tc-e
(tr:lambda xs (tr:lambda (x) (apply values (map (tr:lambda (z) (tr:lambda (y) (symbol? x))) xs))))
#:ret
(ret (-polydots (a ...)
(->... (list) (a a) (-values (list
(t:-> Univ (-values-dots (list) (t:-> Univ -Boolean : (-FS (-filter -Symbol (list 1 0)) -top)) 'a)))))))
#:expected
(ret (-polydots (a ...)
(->... (list) (a a) (-values (list
(t:-> Univ (-values-dots (list) (t:-> Univ -Boolean : (-FS (-filter -Symbol (list 1 0)) -top)) 'a)))))))]
)
(test-suite
"tc-literal tests"