From d582dd55dd99b3f39e312b09886f00a1dc3d0e6c Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Sun, 1 May 2011 11:18:10 +0200 Subject: [PATCH] Fix bug in vector signatures. --- collects/deinprogramm/signature/signature-unit.rkt | 4 ++-- collects/tests/deinprogramm/signature.rkt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/collects/deinprogramm/signature/signature-unit.rkt b/collects/deinprogramm/signature/signature-unit.rkt index 1e20bf2096..2059bb7fc4 100644 --- a/collects/deinprogramm/signature/signature-unit.rkt +++ b/collects/deinprogramm/signature/signature-unit.rkt @@ -195,8 +195,8 @@ (if (andmap eq? orig els) obj (let ((new (list->vector els))) - (hash-set! vectors-table obj new old-sigs) - obj))))) + (hash-set! vectors-table obj old-sigs) + new))))) (cond ((not (vector? obj)) diff --git a/collects/tests/deinprogramm/signature.rkt b/collects/tests/deinprogramm/signature.rkt index 54e47a2762..1a52196007 100644 --- a/collects/tests/deinprogramm/signature.rkt +++ b/collects/tests/deinprogramm/signature.rkt @@ -88,9 +88,12 @@ (test-case "vector" - (define integer-vector (make-vector-signature 'integer-list integer #f)) + (define integer-vector (make-vector-signature 'integer-vector integer #f)) + (define a-vector (make-vector-signature 'a-vector %a #f)) (check-equal? (say-no (apply-signature integer-vector '#(1 2 3))) '#(1 2 3)) + (check-equal? (say-no (apply-signature a-vector '#(1 2 3))) + '#(1 2 3)) (check-equal? (say-no (apply-signature integer-vector '#f)) 'no) (check-eq? (failed-signature (apply-signature integer-vector '#(1 #f 3)))