diff --git a/data-and-control-flow/equalp.lsp b/data-and-control-flow/equalp.lsp index de1bad0d7617dfd675d7d1473f3a3f14136dcdea..1b00b8daf2335a417aeda5eb06c916475ce68c47 100644 --- a/data-and-control-flow/equalp.lsp +++ b/data-and-control-flow/equalp.lsp @@ -282,6 +282,16 @@ (not (equalp ht1 ht2)))))) (0 0 0 0)) +(defclass equalp-class-36 () ((slot1 :initarg :slot1) (slot2 :initarg :slot2))) + +;;; If structure is baked up by an instance, it may happen that +;;; instances are compared like structures for `equalp' - slot by +;;; slot. This was a problem in ECL 16.1.3. +(deftest equalp.36 + (equalp (make-instance 'test-object :slot1 1 :slot2 2) + (make-instance 'test-object :slot1 1 :slot2 2)) + nil) + (deftest equalp.order.1 (let ((i 0) x y) (values