[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## bug#21899: let/ec continuations not distinct under compiler

**From**: |
Zefram |

**Subject**: |
bug#21899: let/ec continuations not distinct under compiler |

**Date**: |
Fri, 24 Jun 2016 18:00:38 +0100 |

Andy Wingo wrote:
>* ,opt (let* ((x (list 'a))*
>* (y (list 'a)))*
>* (list x y))*
>* ;; ->*
>* (let* ((x (list 'a)) (y x)) (list x y))*
Wow, that's a scary level of wrongitude. It's specific to let* (or
equivalent nested let forms), but really easy to trigger within that:
scheme@(guile-user)> (let ((x (list 'a)) (y (list 'a))) (eq? x y))
$1 = #f
scheme@(guile-user)> (let* ((x (list 'a)) (y (list 'a))) (eq? x y))
$2 = #t
scheme@(guile-user)> (let ((x (list 'a))) (let ((y (list 'a))) (eq? x y)))
$3 = #t
-zefram