(find-method #'print-object '() (list (list (find-class t)) (list (find-class t)))) does not signal an error

Bug #1808681 reported by Michał "phoe" Herda
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Low
Unassigned

Bug Description

(defvar *bad-specializers* (list (list (find-class t)) (list (find-class t))))

The value of *BAD-SPECIALIZERS* is a list of lists of specializers, not a list of specializers. I expected FIND-METHOD to signal an error when given that value as its specializer argument, but it instead returned a method.

(find-method #'print-object '() *bad-specializers*)
;=> #<STANDARD-METHOD COMMON-LISP:PRINT-OBJECT (T T) {1000539213}>

CLHS FIND-METHOD, http://clhs.lisp.se/Body/f_find_m.htm :

"The specializers argument contains the parameter specializers for the method."

Revision history for this message
Jan Moringen (scymtym) wrote :

In 052b6abc60d2f2c3b65a30dcfb1ee17c06d70e4b

Changed in sbcl:
status: New → Fix Committed
Jan Moringen (scymtym)
Changed in sbcl:
importance: Undecided → Low
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.