(defstruct foo)
(assert (progn (deftype foo () 'integer)
(null (find-class 'foo nil))
- t))
\ No newline at end of file
+ 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)))
+
+;; Need to work with plain symbols as the body.
+(defconstant whatever 't)
+(deftype anything () whatever)
+(assert (typep 42 'anything))
+
+(with-test (:name :deftype-not-list-lambda-list)
+ (assert (raises-error? (eval `(deftype ,(gensym) non-list-argument)))))