![$ cat bug.rkt
#lang typed/racket
(define-signature a^ ([x : (Pairof Integer Integer)]))
(define-unit get-x@
(import a^)
(export)
x)
(define v : (Pairof Integer Integer)
(let ()
(define-syntax (x stx)
#'(quote not-an-integer))
(invoke-unit get-x@ (import a^))))
(+ (car v) (cdr v))
$ ./8.7/bin/racket bug.rkt
644225852946515978
$ ./8.7/bin/racket bug.rkt
67765100643092482
$ ./8.7/bin/racket bug.rkt
+: contract violation
expected: number?
given: #<garbage>
context...:
body of "/home/alexis/Downloads/racket/bug.rkt"
$ ./8.7/bin/racket bug.rkt
+: contract violation
expected: number?
given: #<foreign>
context...:
body of "/home/alexis/Downloads/racket/bug.rkt"
$ ./8.7/bin/racket bug.rkt
invalid memory reference. Some debugging context lost
context...:
body of "/home/alexis/Downloads/racket/bug.rkt"](https://pbs.twimg.com/media/FoLEKfsXEAAOS5Q.jpg?name=small&format=webp)
ALT $ cat bug.rkt #lang typed/racket (define-signature a^ ([x : (Pairof Integer Integer)])) (define-unit get-x@ (import a^) (export) x) (define v : (Pairof Integer Integer) (let () (define-syntax (x stx) #'(quote not-an-integer)) (invoke-unit get-x@ (import a^)))) (+ (car v) (cdr v)) $ ./8.7/bin/racket bug.rkt 644225852946515978 $ ./8.7/bin/racket bug.rkt 67765100643092482 $ ./8.7/bin/racket bug.rkt +: contract violation expected: number? given: #<garbage> context...: body of "/home/alexis/Downloads/racket/bug.rkt" $ ./8.7/bin/racket bug.rkt +: contract violation expected: number? given: #<foreign> context...: body of "/home/alexis/Downloads/racket/bug.rkt" $ ./8.7/bin/racket bug.rkt invalid memory reference. Some debugging context lost context...: body of "/home/alexis/Downloads/racket/bug.rkt"






















