In addition to the constructor, `foo` is also used for compile-time struct information. To avoid this, either supply #:name to designate a different identifier for compile-time struct type information, or declare #:omit-define-syntaxes to dismiss it.
Shu-hung On Thu, Jun 3, 2021 at 4:04 PM Sage Gerard <[email protected]> wrote: > > My understanding is that you can shadow `foo`, but you cannot use `foo` in > any expression at the same scope where the struct's bindings appear. In this > context, some of `foo`'s lexical information is reserved so that `struct-out` > works correctly. > > On 6/3/21 5:01 PM, flirora wrote: > > > Am I correct in assuming that given a definition like > > (struct foo (x) #:constructor-name bar) > > I then can't define something named foo in the same module, even though > there's no constructor called foo? > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/02598ee4-4461-4815-bd4f-a8ac02c1118cn%40googlegroups.com. > > -- > ~slg > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/76c51dda-b80d-d74a-c691-d92fe11008e8%40sagegerard.com. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAMTzy%2Bav%3Dh_muCMK9pH0FpmUvUU7t5rUFBk09a3zhT7DSAc_1g%40mail.gmail.com.

