<div dir="ltr"><div>Excuse my poor experience with contracts, this is probably an easy one.</div><div><br></div><div>I'm using a copy of net/url and have a strange problem. The copied library is working fine in general, but this problem cropped up today:</div>
<div><br></div>struct:exn:fail:contract:blame url-port: contract violation<div>expected: url?</div><div>given: #<url></div><div>in: the 1st argument of</div><div>(-> url? (or/c #f number?))</div><div>contract from: </div>
<div>/home/epearson/work/racket/github/adaptnet/url-structs.rkt</div><div>blaming: /home/epearson/work/racket/github/racqueb/httpc.rkt</div><div>at: /home/epearson/work/racket/github/adaptnet/url-structs.rkt:4.28</div><div>
<br></div><div>The error is thrown in my usage of url-port which is being passed a perfectly good url struct object. The file is requiring the copied url-structs. If I play with the function that is being blamed in httpc.rkt via the repl in dr racket, this specific error is not thrown. The call to (url-port url) succeeds without throwing this contract exception.</div>
<div><br></div><div>From my primitive understanding, I'm flummoxed: Why is a #<url> not a url?</div><div><br></div><div>I suspected that there may have been a leftover require of net/url confusing things, but I can't find any in my code.</div>
<div><br></div><div>Using racket head from github 5.90.0.9--2013-10-20(d6610289/d)</div><div><br></div><div>Help!</div><div><br></div><div>Thanks,</div><div>Erik.</div><div><br><br></div></div>