[racket-dev] Triggered a macro system internal error

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Jun 27 09:32:20 EDT 2013

The problem was in the way that traits are managed for submodule
expansion plus a problem with Typed Racket's trait arming of a module
body (which was also my fault). I've pushed a repair.

At Tue, 25 Jun 2013 10:05:28 -0400, Asumu Takikawa wrote:
> Hi all,
> 
> I accidentally triggered what appears to be an internal error message
> from the macro expander (to do with syntax taints).
> 
> Unfortunately, I have no idea how to come up with a narrow test case
> since it happens due to changing Typed Racket's `struct:` expansion.
> I've attached a short patch below that shows what's needed to trigger it
> though.
> 
> Here's the interaction I get with the patch applied:
>   $ racket -I typed/racket
>   Welcome to Racket v5.3.900.1.
>   -> (struct: Foo ([x : Integer]))
>   ; internal error: cannot copy taint armings from tainted source [,bt for
>   ;   context]
> 
> Any ideas on how I can get a better test case?
> 
> Cheers,
> Asumu


Posted on the dev mailing list.