typed-racket/typed-racket-test/succeed/pr241-variation-3.rkt

20 lines
363 B
Racket

#lang racket/base
;; Generic struct predicates are OK
(module u racket/base
(require racket/generic)
(define-generics foo)
(struct foo-struct () #:methods gen:foo [] #:transparent)
(define f1 (foo-struct))
(provide f1 foo?))
(module t typed/racket/base
(require/typed (submod ".." u)
(#:opaque Foo foo?)
(f1 Foo))
(foo? 3)
(foo? f1))
(require 't)