Make inference understand the relationship between Vector' and
Vectorof'.
Closes PR 12495.
This commit is contained in:
parent
577f38f649
commit
4d21ab1019
|
@ -1395,6 +1395,9 @@
|
||||||
|
|
||||||
(go first second third fourth fifth sixth seventh eighth ninth tenth))
|
(go first second third fourth fifth sixth seventh eighth ninth tenth))
|
||||||
(-val 1)]
|
(-val 1)]
|
||||||
|
|
||||||
|
[tc-e (vector-append #(1) #(2))
|
||||||
|
(-vec -Integer)]
|
||||||
)
|
)
|
||||||
(test-suite
|
(test-suite
|
||||||
"check-type tests"
|
"check-type tests"
|
||||||
|
|
|
@ -406,6 +406,9 @@
|
||||||
(cg t t*)))]
|
(cg t t*)))]
|
||||||
[((HeterogenousVector: ts) (HeterogenousVector: ts*))
|
[((HeterogenousVector: ts) (HeterogenousVector: ts*))
|
||||||
(cset-meet (cgen/list V X Y ts ts*) (cgen/list V X Y ts* ts))]
|
(cset-meet (cgen/list V X Y ts ts*) (cgen/list V X Y ts* ts))]
|
||||||
|
[((HeterogenousVector: ts) (Vector: s))
|
||||||
|
(define ts* (map (λ _ s) ts)) ;; invariant, everything has to match
|
||||||
|
(cset-meet (cgen/list V X Y ts ts*) (cgen/list V X Y ts* ts))]
|
||||||
[((HeterogenousVector: ts) (Sequence: (list t*)))
|
[((HeterogenousVector: ts) (Sequence: (list t*)))
|
||||||
(cset-meet* (for/list ([t (in-list ts)])
|
(cset-meet* (for/list ([t (in-list ts)])
|
||||||
(cg t t*)))]
|
(cg t t*)))]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user