From e796cd802bf056a93a0328901b9e6631f1e63ada Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 12 May 2009 15:30:15 +0000 Subject: [PATCH] fix wrong results - 25 fails svn: r14783 --- .../tests/typed-scheme/unit-tests/all-tests.ss | 4 ++-- .../typed-scheme/unit-tests/typecheck-tests.ss | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/collects/tests/typed-scheme/unit-tests/all-tests.ss b/collects/tests/typed-scheme/unit-tests/all-tests.ss index 2d2172efd1..cc94dbb81b 100644 --- a/collects/tests/typed-scheme/unit-tests/all-tests.ss +++ b/collects/tests/typed-scheme/unit-tests/all-tests.ss @@ -3,12 +3,12 @@ (require "test-utils.ss" "planet-requires.ss" - "typecheck-tests.ss" ;; doesn't compile yet + "typecheck-tests.ss" ;;fail "subtype-tests.ss" ;; pass "type-equal-tests.ss" ;; pass "remove-intersect-tests.ss" ;; pass "parse-type-tests.ss" ;; pass - "type-annotation-test.ss" ;; fail + "type-annotation-test.ss" ;; pass "module-tests.ss" ;; pass "subst-tests.ss" ;; pass "infer-tests.ss" ;; pass diff --git a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss index 44cffc4abf..a88434ba08 100644 --- a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss +++ b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss @@ -453,11 +453,15 @@ [tc-e/t (let* ([z 1] [p? (lambda: ([x : Any]) (number? z))]) (lambda: ([x : Any]) (if (p? x) x 12))) - (-> Univ Univ : (-LFS null (list (make-LBot))))] + (-> Univ Univ : (-LFS (list (-not-filter (-val #f))) (list (-filter (-val #f)))) : (make-LPath null 0))] + [tc-e/t (let* ([z (ann 1 : Any)] + [p? (lambda: ([x : Any]) (not (number? z)))]) + (lambda: ([x : Any]) (if (p? x) x 12))) + (-> Univ Univ)] [tc-e/t (let* ([z 1] [p? (lambda: ([x : Any]) (not (number? z)))]) (lambda: ([x : Any]) (if (p? x) x 12))) - (-> Univ Univ : (-LFS (list (-not-filter (-val #f))) (list (-filter (-val #f)))) : (make-LPath null 0))] + (-> Univ -Integer : (-LFS null (list (make-LBot))))] [tc-e/t (let* ([z 1] [p? (lambda: ([x : Any]) z)]) (lambda: ([x : Any]) (if (p? x) x 12))) @@ -615,10 +619,12 @@ 1 w)) (-polydots (a) ((list -String) (N a) . ->... . N))] ;; instantiating non-dotted terms - [tc-e (inst (plambda: (a) ([x : a]) x) Integer) - (make-Function (list (make-arr* (list -Integer) -Integer #:filters (-LFS (list (-not-filter (-val #f))) (list (-filter (-val #f)))))))] - [tc-e (inst (plambda: (a) [x : a *] (apply list x)) Integer) - ((list) -Integer . ->* . (-lst -Integer))] + [tc-e/t (inst (plambda: (a) ([x : a]) x) Integer) + (make-Function (list (make-arr* (list -Integer) -Integer + #:filters (-LFS (list (-not-filter (-val #f))) (list (-filter (-val #f)))) + #:object (make-LPath null 0))))] + [tc-e/t (inst (plambda: (a) [x : a *] (apply list x)) Integer) + ((list) -Integer . ->* . (-lst -Integer))] ;; instantiating dotted terms [tc-e (inst (plambda: (a ...) [xs : a ... a] 3) Integer Boolean Integer)