This bug happened to appear two days ago and never disappear (both in
version 6.4.0.13 and 6.5.0.1) in my codebase, however if I copy the minimal
relative code into a fresh file, it disappears. In the original one's REPL,
it disappears too.

(define-type Card%
  (Class #:implements Darc-Card%
             [change (-> (Instance Snip%) Void)]))

(define card% : Card%
  (class darc-card% ;;; this is a pasteboard%
    (super-new)
    (define/public (change snip)
      (void))))

(define card : (Instance Darc-Card%) (make-object darc-card%)) ;;; this is
okay.
(define card : (Instance Card%) (make-object card%))  ;;; this raises the
contract error.

It is also easy to bypass as long as I do not do instantiating in module
level (as a static member of a class).

So, is it safe to just ignore the non-paired value in instantiate.rkt?
Thanks.

-- 
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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to