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!"