(let ((c (c2mop:ensure-class 'my-class
:metaclass 'c2mop:forward-referenced-class)))
(c2mop:ensure-class-using-class c 'another-name))
;; causes ever because of
(defmethod ensure-class-using-class ((class pcl-class) name &rest args &key)
(call-with-ensure-class-context
class name args (lambda (class name metaclass initargs)
(aver (eq name (class-name class)))
(unless (eq (class-of class) metaclass)
(apply #'change-class class metaclass initargs))
(apply #'reinitialize-instance class initargs)
class)))
#|
failed AVER: (EQ SB-PCL::NAME (CLASS-NAME CLASS))
This is probably a bug in SBCL itself. (Alternatively, SBCL
might have been corrupted by bad user code, e.g. by an undefined
Lisp operation like (FMAKUNBOUND 'COMPILE), or by stray pointers
from alien code or from unsafe Lisp code; or there might be a
bug in the OS or hardware that SBCL is running on.) If it seems
to be a bug in SBCL itself, the maintainers would like to know
about it. Bug reports are welcome on the SBCL mailing lists,
which you can find at .
[Condition of type SB-INT:BUG]
Restarts:
0: [RETRY] Retry SLIME interactive evaluation request.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] abort thread (#)
Backtrace:
0: ((LAMBDA (CLASS SB-PCL::NAME SB-PCL::METACLASS SB-PCL::INITARGS) :IN SB-MOP:ENSURE-CLASS-USING-CLASS) # ANOTHER-NAME # # ANOTHER-NAME NIL #)
7: (EVAL (LET ((C #)) (SB-MOP:ENSURE-CLASS-USING-CLASS C (QUOTE ANOTHER-NAME))))
8: ((LAMBDA NIL :IN SWANK:INTERACTIVE-EVAL))
--more--
|#