[cmucl-imp] Method combination woes
Hello! It seems that the 2018/02 snapshot of CMUCL doesn't properly handle method combination updating in generic functions: CL-USER> (define-method-combination my-min () ((methods ())) `(min ,@(mapcar #'(lambda (method) `(call-method ,method)) methods))) MY-MIN CL-USER> (define-method-combination my-max () ((methods ())) `(max ,@(mapcar #'(lambda (method) `(call-method ,method)) methods))) MY-MAX CL-USER> (test 0) 5 CL-USER> (reinitialize-instance #'test :method-combination (mop:find-method-combination #'make-instance 'my-max nil)) #<STANDARD-GENERIC-FUNCTION TEST (2) {4AB267B9}> CL-USER> (test 0) 5 Here, 6 was expected, not 5, and despite the fact that the method combination slot in the generic function object was correctly updated to MY-MAX. Besides, ENSURE-GENERIC-FUNCTION also seems to fail handling method-combination changes properly: (ensure-generic-function 'test :method-combination (mop:find-method-combination #'make-instance 'my-max nil)) Type-error in KERNEL::OBJECT-NOT-LIST-ERROR-HANDLER: #<Method-Combination MY-MAX NIL {49C2D605}> is not of type LIST [Condition of type TYPE-ERROR] Comments? -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info
"dvl" == Didier Verna <didier@lrde.epita.fr> writes:
dvl> Hello! dvl> It seems that the 2018/02 snapshot of CMUCL doesn't properly handle dvl> method combination updating in generic functions: It would be great if you could file an issue at https://gitlab.common-lisp.net/cmucl/cmucl/issues with these steps. It will be less likely to be forgotten. :-) -- Ray
Raymond Toy <toy.raymond@gmail.com> wrote:
It would be great if you could file an issue at https://gitlab.common-lisp.net/cmucl/cmucl/issues with these steps.
Will do. -- Resistance is futile. You will be jazzimilated. Lisp, Jazz, Aïkido: http://www.didierverna.info
participants (2)
-
Didier Verna -
Raymond Toy