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)))