#239: defgeneric with unsuitable :generic-function-class gives incomprehensible error -----------------------+---------------------------------------------------- Reporter: rschlatte | Owner: ehuelsmann Type: defect | Status: new Priority: minor | Milestone: Component: (A)MOP | Version: Keywords: | -----------------------+---------------------------------------------------- Compiling and loading the following (incorrect) file gives an error saying that foo-generic-function is not of type standard-generic-function. The real error is that foo-generic-function must be defined with (:metaclass funcallable-standard-class) to be suitable as a generic function class.
{{{ (require :clos)
(defclass foo-generic-function (standard-generic-function))
(defgeneric goo (a b) (:generic-function-class foo-generic-function) (:method (a b) (princ "default method")))
(print #'goo) }}}
The attached patch would emit a full warning in defgeneric, but currently find-class does not implement correct behavior when called with 3 parameters.