This appears to be a bug -- my guess is that the contract isn't actually generated, and thus turns into `#f` -- that's what `require/typed` expands to, before TR inserts the real contract.
Sam On Fri, May 8, 2015 at 5:26 PM, Alexander D. Knauth <[email protected]> wrote: > I have this file: > #lang typed/racket > (provide x) > (define x : Natural 3) > (module* main racket/base > (require typed/racket/base) > (require/typed (submod "..") > [x Natural])) > > I get this strange error message: > . . ../../../../../Applications/Racket/April-24/Racket > v6.2.0.2/collects/racket/contract/private/blame.rkt:143:0: x: broke its > contract > promised: #f > produced: 3 > in: #f > contract from: (interface for x) > blaming: (interface for x) > (assuming the contract is correct) > at: /Users/Alex/Documents/DrRacket/tr-submod-error/lib.rkt:7.18 > > What? > > I just realized I meant to use require/untyped-contract instead of > require/typed, but still, what? > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

