Re: warning: possibly unused local top-level variable `%foo?-procedure'

Linus Björnstam <[email protected]>
Newsgroups gmane.lisp.guile.user
Message-ID <[email protected]>
Which version are you using? All my similar issues with srfi-9 went away last year when srfi things were marked maybe-unused.

I don't have a computer this week so I cannot try your code. Sorry. 

-- 
  Linus Björnstam

On Wed, 5 Jun 2024, at 17:02, Tomas Volf wrote:
> Hello,
>
> I am getting following warning from a guild compile:
>
>     warning: possibly unused local top-level variable `%foo?-procedure'
>
> And I am not sure how to tackle it.  This is my full source code:
>
>     (define-module (x)
>       #:use-module (srfi srfi-9)
>       #:export (<foo>
>                 foo?
>                 make-foo))
>
>     (define-record-type <foo> (make-foo) foo?)
>
> When I try to compile it:
>
>     $ guild compile -W 3 -o x.go x.scm
>     x.scm:7:0: warning: possibly unused local top-level variable 
> `%foo?-procedure'
>     wrote `x.go'
>
> I would (for obvious reasons) like to keep my compilation warning-free.  I can
> think of two approaches:
>
> 1. Export the %foo?-procedure
>      I think this would confuse downstream users, since they are not expected to
>      use it directly.
>
> 2. Mark the procedure as used
>       In C I could use `(void)proc;', is there an equivalent of that construct
>       in Guile?
>
> Are there other options?  How are you approaching it?
>
> Thank you and have a nice day,
> Tomas Volf
>
> PS: I am not even sure why this warning happens, the `foo?' syntax transformer
> is exported and *does* reference it (as far as I can tell from ,expand).
>
> --
> There are only two hard things in Computer Science:
> cache invalidation, naming things and off-by-one errors.
>
> Attachments:
> * signature.asc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.