[racket-dev] Check-syntax glitch?

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Wed Feb 15 08:22:18 EST 2012

If I'm reading the expansion right, it looks like 'match' is keeping
only one of the 'foo's in the output (it seems to put one of them in
the disappeared use property on the 'foo?' in the (if (foo? x) ...)
that it generates).

In other words, looks like a bug in match.

Robby

On Wed, Feb 15, 2012 at 3:30 AM, Pierpaolo Bernardi <olopierpa at gmail.com> wrote:
> Hello,
>
> (for company firewall reasons I cannot use the bug report facility.
> Please bear with me).
>
> Racket version 5.2.1;
> Environment: windows "Windows NT 6.1 (Build 7601) Service Pack 1"
> (win32\i386\3m) (get-display-depth) = 32;
>
> If I put the following text in a buffer:
>
> ====
> #lang racket
>
> (struct foo (a))
>
> (define (bar x)
>  (match x
>    ((foo #f) 0)
>    ((foo #t) 1)))
> ====
>
> Running check-syntax, the "foo" in the first branch of the match is
> linked to the struct definition, while the foo in the second branch is
> not linked.  Is this the intended behaviour or there is a mistake?
>
> Cheers
> P.
> _________________________
>  Racket Developers list:
>  http://lists.racket-lang.org/dev


Posted on the dev mailing list.