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.

Reply via email to