hash-table fails to remove key
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
High
|
Douglas Katzman |
Bug Description
When using a hash-table as key in another hash-table with :test #'equal, removing the key fails.
Code to reproduce:
(let ((object (make-hash-table))
(store (make-hash-table :test #'equal)))
(format t "Add: ~a~%" (setf (gethash object store) '(1 2 3)))
(format t "Seek: ~a~%" (gethash object store))
(format t "Remove: ~a~%" (remhash object store)))
Output:
Add: (1 2 3)
Seek: (1 2 3)
Remove: NIL
Expected output:
Add: (1 2 3)
Seek: (1 2 3)
Remove: T
Note: The expected behaviour - successfully removing the key - worked with SBCL 1.5.4 under Linux and Windows 7.
SBCL Versions:
2.0.0 on Windows 7
2.0.1 on Linux
uname -a
Linux laptop-eric 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
*FEATURES*
(:CLOSER-MOP :5AM :SBCL-DEBUG-
ALEXANDRIA.
:SB-BSD-
:OS-UNIX :NON-BASE-
:COMMON-LISP :ELF :GENCGC :IEEE-FLOATING-
:PACKAGE-
:SBCL :UNIX)
Changed in sbcl: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in sbcl: | |
assignee: | nobody → Douglas Katzman (dougk) |
Changed in sbcl: | |
status: | Confirmed → Fix Committed |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |