Thanks for everybody's replies To give more context the original code from Ch. 12 of Bird's *Thinking Functionally with Haskell* was: let (xs, ys) = break (== ch) str in if null ys then [] else [(xs, tail ys)]) I replaced it with let (xs, ys@(_ : t)) = break (== ch) str in if null ys then [] else [(xs, t)]) On Tue, Apr 16, 2024 at 10:51 AM George Colpitts <george.colpitts@gmail.com> wrote:
ghc should be able to deduce correct use of partial functions and not give a warning in such cases, e.g. in 9.8.2
if null ys then [] else [(xs,tail ys)])
gets a warning
warning: [GHC-63394] [-Wx-partial]
but it is clear that this use of tail will never be a problem so IMHO that line of code should not get a warning.
Does anybody know if there is a plan or enhancement request to eliminate such warnings?
Cheers George