From ab1005ae6f79d372e9238489f2d3ae60d37a82c5 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 31 Oct 2012 21:13:01 -0400 Subject: [PATCH] Fix accidental use of the wrong letrec-bound variable. original commit: 0e71f2d5dc58bd497a686f23c0ed0781590a3dc6 --- collects/tests/typed-racket/succeed/exn-any.rkt | 15 +++++++++++++++ collects/typed-racket/utils/any-wrap.rkt | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 collects/tests/typed-racket/succeed/exn-any.rkt diff --git a/collects/tests/typed-racket/succeed/exn-any.rkt b/collects/tests/typed-racket/succeed/exn-any.rkt new file mode 100644 index 00000000..131aec6e --- /dev/null +++ b/collects/tests/typed-racket/succeed/exn-any.rkt @@ -0,0 +1,15 @@ +#lang racket/load + +(module m typed/racket + (struct: s ()) + + (struct: s2 s ()) + (define: v : Any (s2)) + (provide v)) + +(module n racket + (require 'm) + v) + +(require 'n) + diff --git a/collects/typed-racket/utils/any-wrap.rkt b/collects/typed-racket/utils/any-wrap.rkt index 4cecd411..3ebcd0be 100644 --- a/collects/typed-racket/utils/any-wrap.rkt +++ b/collects/typed-racket/utils/any-wrap.rkt @@ -14,7 +14,7 @@ (define (wrap-struct s) (define (extract-functions struct-type) (define-values (sym init auto ref set! imms par skip?) - (struct-type-info type)) + (struct-type-info struct-type)) (when skip? (fail s)) ;; "Opaque struct type!") (define-values (fun/chap-list _) (for/fold ([res null] @@ -36,7 +36,7 @@ res) imms)))) (cond - [par (cons fun/chap-list (extract-functions par))] + [par (append fun/chap-list (extract-functions par))] [else fun/chap-list])) (define-values (type skipped?) (struct-info s)) (when skipped? (fail s)); "Opaque struct type!"