bug#75216: Miscompilation of code with numeric predicates
Ludovic Courtès <[email protected]> Fri, 28 Feb 2025 21:22:05 +0100
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
"Thompson, David" <[email protected]> skribis: > Consider this contrived procedure: > > (define (foo x) > (cond > ((integer? x) 42) > ((and (number? x) (inexact? x)) 69) > (else 138))) > > This procedure is kind of silly but it resembles some real world code > I was debugging today. A call of (foo 8.2) should return 69 and > indeed it does so on Guile 3.0.9. Not so on Guile 3.0.10 where it > returns 138. Bug confirmed on c8a169d38825d5a21da5392b355ca5fc9f33fa55 (post 3.0.10). Ludo’.