24 lines
438 B
Racket
24 lines
438 B
Racket
#lang racket/load
|
|
|
|
(module typed typed/racket
|
|
(provide g)
|
|
(struct: (A) foo ((v : A)))
|
|
(: f (foo Byte))
|
|
(define f (foo 2))
|
|
(: g (-> (foo Byte)))
|
|
(define (g) f))
|
|
|
|
(module typed-client typed/racket
|
|
(require 'typed)
|
|
(unless (equal? (g) (g))
|
|
(error 'typed2 "Failed")))
|
|
|
|
|
|
(module untyped-client racket
|
|
(require 'typed)
|
|
(unless (equal? (g) (g))
|
|
(error 'typed2 "Failed")))
|
|
|
|
(require 'typed-client)
|
|
(require 'untyped-client)
|