failed AVER: (EQ PHYSENV (LAMBDA-PHYSENV #))
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
High
|
Unassigned |
Bug Description
(defun test ()
(let* ((*sequence* '#*0000000000)
(*size* 10)
(*start* 1)
(*end* (1- *size*))
(let ((result
(
#+nil
(declare (ignorable iterator+977 setter+979 getter+978))
(flet ((iterator+976 ()
(ptr ()
(declare (ignorable (function iterator+976) (function (setf ptr))
(declare (inline iterator+976 ptr (setf ptr)))
(let ((iterator+976 #'iterator+976))
(prog ((iterator+1002 iterator+976) (elt) (idx+1005) (next?+1003))
(let (tmp-var+1006 tmp-idx+1007)
(go [do-sequence-
Changed in sbcl: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
importance: | Medium → High |
Changed in sbcl: | |
assignee: | nobody → Nikodemus Siivola (nikodemus) |
status: | Confirmed → In Progress |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Reduced test case:
(defun test () value-bind (iterator+977 getter+978) (DOES-NOT- EXIST-BUT- DOES-NOT- MATTER)
( funcall iterator+977)))
;; If there is only a single value here, the code compiles fine.
(multiple-
(flet ((iterator+976 ()
;; If the inline declaration is missing, the code compiles fine.
(declare (inline iterator+976))
(let ((iterator+976 #'iterator+976))
;; If the call is to the function and not the variable, the code compiles fine.
(funcall iterator+976)))))