Plaster

common-lisp
(defgeneric validation-type-slot-value (given-object)) (defmethod validation-type-slot-value (given-object) NIL) (defgeneric validation-function-slot-value (given-object)) (defmethod validation-function-slot-value (given-object) NIL) (defgeneric skip-validation-slot-value (given-object)) (defmethod skip-validation-slot-value (given-object) NIL) (defmethod closer-mop:compute-effective-slot-definition :around ((class mito-validate-metaclass) name direct-slot-definitions) (declare (ignore name)) (let ((result (call-next-method))) (setf (skip-validation-slot-value result) (some #'skip-validation-slot-value direct-slot-definitions)) (setf (validation-type-slot-value result) (some #'validation-type-slot-value direct-slot-definitions)) (setf (validation-function-slot-value result) (some #'validation-function-slot-value direct-slot-definitions)) result)) There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION (COMMON-LISP:SETF MITO-VALIDATE::SKIP-VALIDATION-SLOT-VALUE) (2)> when called with arguments (NIL #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION MITO.DAO.MIXIN::CREATED-AT>). [Condition of type SB-PCL::NO-APPLICABLE-METHOD-ERROR] Restarts: 0: [RETRY] Retry calling the generic function. 1: [RETRY] Retry SLY mREPL evaluation request. 2: [*ABORT] Return to SLY's top level. 3: [ABORT] abort thread (#<THREAD tid=8195 "sly-channel-1-mrepl-remote-1" RUNNING {10036EDDF3}>) Backtrace: 0: ((:METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION (COMMON-LISP:SETF MITO-VALIDATE::SKIP-VALIDATION-SLOT-VALUE) (2)> NIL #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION MITO.DAO.MIXIN::CREATE.. 1: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION (COMMON-LISP:SETF MITO-VALIDATE::SKIP-VALIDATION-SLOT-VALUE) (2)> (NIL #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION MITO.DAO.MIXIN::CREATE.. 2: ((:METHOD SB-MOP:COMPUTE-EFFECTIVE-SLOT-DEFINITION :AROUND (MITO-VALIDATE:MITO-VALIDATE-METACLASS T T)) #<MITO-VALIDATE:MITO-VALIDATE-METACLASS COMMON-LISP-USER::C1> MITO.DAO.MIXIN::CREATED-AT (#<MITO.. Locals: SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD SB-MOP:COMPUTE-EFFECTIVE-SLOT-DEFINITION (SB-PCL::SLOT-CLASS T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (3)) CLASS = #<MITO-VALIDATE:MITO-VALIDATE-METACLASS COMMON-LISP-USER::C1> MITO-VALIDATE::DIRECT-SLOT-DEFINITIONS = (#<MITO.DAO.COLUMN:DAO-TABLE-COLUMN-CLASS MITO.DAO.MIXIN::CREATED-AT>) MITO-VALIDATE::NAME = MITO.DAO.MIXIN::CREATED-AT MITO-VALIDATE::RESULT = #<SB-MOP:STANDARD-EFFECTIVE-SLOT-DEFINITION MITO.DAO.MIXIN::CREATED-AT> 3: (SB-PCL::STD-COMPUTE-SLOTS #<MITO-VALIDATE:MITO-VALIDATE-METACLASS COMMON-LISP-USER::C1>) 4: ((:METHOD SB-MOP:COMPUTE-SLOTS :AROUND (STANDARD-CLASS))