1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations
[sbcl.git] / tests / deftype.impure.lisp
index 55a1332..ee43d3b 100644 (file)
 (assert (typep 1 'key))
 (assert (typep 1 'key-singleton))
 
+;;; empty body
+(deftype deftype-with-empty-body ())
+(assert (subtypep 'deftype-with-empty-body nil))
+(assert (subtypep nil 'deftype-with-empty-body))
+
+;; Ensure that DEFTYPE can successfully replace a DEFSTRUCT type
+;; definition.
+(defstruct foo)
+(assert (progn (deftype foo () 'integer)
+               (null (find-class 'foo nil))
+               t))
+
+;; Ensure that DEFCLASS after DEFTYPE nukes the lambda-list.
+(deftype bar (x) `(integer ,x))
+(assert (equal '(x) (sb-int:info :type :lambda-list 'bar)))
+(defclass bar () ())
+(assert (not (sb-int:info :type :lambda-list 'bar)))