(setf (find-class x) nil) doesn't completely remove the class
Bug #1647043 reported by
Stas Boukarev
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Medium
|
Unassigned |
Bug Description
(progn (defclass abc () ())
(lambda (x) (typep x 'abc))
(setf (find-class 'abc) nil)
(lambda (x) (typep x 'abc)))
can't compile TYPEP of anonymous or undefined class:
#<STANDARD-
This is because specifier-type caches the result
(progn (defclass abc () ())
(setf (find-class 'abc) nil)
=>
#<STANDARD-CLASSOID anonymous {10093AF653}>
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
sb-kernel: %clear- classoid should probably call values- specifier- type-cache- clear, but how many other caches are there where it can hide?