X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdefstruct.impure.lisp;h=9bfc78c11f0b8b3997a84006744313d2d478dbd1;hb=cc67baa3070a13bd84bb37680761011e689fb917;hp=00aa376d7b26128a9a7c9b6c525b4fbfbfeaba5b;hpb=9c9d6dbdc28a8bfe70be09f35263e9ec02411d0e;p=sbcl.git diff --git a/tests/defstruct.impure.lisp b/tests/defstruct.impure.lisp index 00aa376..9bfc78c 100644 --- a/tests/defstruct.impure.lisp +++ b/tests/defstruct.impure.lisp @@ -710,6 +710,12 @@ c (a 0d0 :type double-float)) +(defstruct raw-slot-equalp-bug-2 + (b (complex 1d0) :type (complex double-float)) + (x (complex 1d0) :type (complex double-float)) + c + (a 1s0 :type single-float)) + (with-test (:name :raw-slot-equalp) (assert (equalp (make-raw-slot-equalp-bug :a 1d0 :b 2s0) (make-raw-slot-equalp-bug :a 1d0 :b 2s0))) @@ -718,7 +724,15 @@ (assert (not (equalp (make-raw-slot-equalp-bug :a 1d0 :b 2s0) (make-raw-slot-equalp-bug :a 1d0 :b 3s0)))) (assert (not (equalp (make-raw-slot-equalp-bug :a 1d0 :b 2s0) - (make-raw-slot-equalp-bug :a 2d0 :b 2s0))))) + (make-raw-slot-equalp-bug :a 2d0 :b 2s0)))) + (assert (equalp (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 2s0) + (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 2s0))) + (assert (equalp (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 0s0) + (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a -0s0))) + (assert (not (equalp (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 2s0) + (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 3s0)))) + (assert (not (equalp (make-raw-slot-equalp-bug-2 :b (complex 1d0) :a 2s0) + (make-raw-slot-equalp-bug-2 :b (complex 2d0) :a 2s0))))) ;;; Check that all slot types (non-raw and raw) can be initialized with ;;; constant arguments.