typed-racket/typed-racket-test/succeed/require-substruct.rkt
2014-12-16 10:07:25 -05:00

18 lines
416 B
Racket

#lang scheme/load
(module m scheme
(define-struct X (x) #:transparent)
(define-struct (Y X) (y) #:transparent)
(provide (all-defined-out)))
(module n typed-scheme
(require-typed-struct X ([x : Number]) #:extra-constructor-name make-X 'm)
(require-typed-struct (Y X) ([y : Number]) #:extra-constructor-name make-Y 'm)
(make-X 43)
(define: x : Any 3)
(if (Y? x)
(X-x x)
4))
(require 'n)