typed-racket/typed-racket-test/fail/pr13665.rkt
2014-12-16 10:07:25 -05:00

24 lines
484 B
Racket

#;
(exn-pred #rx"contract violation"
#rx"higher-order value passed as `Any` in untyped code"
#rx"blaming: top-level")
#lang racket/load
(module typed typed/racket
(provide g)
(define-type Foo (Rec a (U (List Any) (Boxof a))))
(: f (Byte -> Natural))
(define (f x) (add1 x))
(: g (Foo -> Void))
(define (g b)
(when (box? b)
(set-box! b (list f)))))
(require 'typed)
(define b (box (list #f)))
(g b)
(displayln ((first (unbox b)) "foo"))