GNU bug report logs -
#75997
(ice-9 match): warning: unused variable `failure'
Previous Next
Full log
Message #11 received at 75997 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Tomas Volf <~@wolfsden.cz> skribis:
>
>> (lambda (expr)
>> (let* ((v expr)
>> (failure
>> (lambda ()
>> ((@@ (ice-9 match) throw)
>> 'match-error
>> "match"
>> "no matching pattern"
>> v)
>> #f)))
>> #f))
>
> Hi! Currently the unused-variable warning pass is unable to determine
> that ‘failure’ was introduced by expanding a macro and thus that no
> warning should be emitted.
>
> It’s always been this way and I don’t know of a clear way to fix it.
I cannot really help regarding the general case. However in this
specific it would likely suffice to tweak the expansion to
--8<---------------cut here---------------start------------->8---
(lambda (expr)
(let* ((v expr)
(failure
(lambda ()
((@@ (ice-9 match) throw)
'match-error
"match"
"no matching pattern"
v)
#f)))
failure
#f))
--8<---------------cut here---------------end--------------->8---
Should have zero performance impact due to optimizations (I would hope),
but feels somewhat ugly.
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 110 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.