Closed
Description
Similar to #625 , I just found an error in some gradually-typed versions of the zordoz benchmark.
What version of Racket are you using?
6.10.1
What program did you run?
#lang racket/base
(module t typed/racket/base
(provide f)
(define-type Spec
(-> (U Spec String)))
(: f (-> Spec))
(define (f)
(λ () "hello")))
(require 't)
f
What should have happened?
No error
If you got an error message, please include it here.
recursive-contract: contract violation
expected: flat-contract?
given: (-> (or/c String g5))
Probable Cause
It's an issue instantiating recursive contracts, the type above makes a (recursive-contract .... #:flat)
. In this case it shouldn't be flat. Probably a bug with or/sc
.
Metadata
Metadata
Assignees
Labels
No labels