* Going in despite the freeze, as this is a regression of sorts as of
1.0.22.8.
* Don't store early source-locations for defined types: use
WITH-SOURCE-LOCATION to ensure we convert them to proper
source-locations.
Thanks to Tobias Ritterweiler for the heads-up.
(error "Cannot redefine standard type ~S." name))
(:defined
(warn "Redefining DEFTYPE type to be a class: ~S" name)
(error "Cannot redefine standard type ~S." name))
(:defined
(warn "Redefining DEFTYPE type to be a class: ~S" name)
- (setf (info :type :expander name) nil)))
+ (setf (info :type :expander name) nil
+ (info :type :lambda-list name) nil
+ (info :type :source-location name) nil)))
(remhash name table)
(%note-type-defined name)
(remhash name table)
(%note-type-defined name)
(setf (info :type :kind name) :defined)))
(setf (info :type :expander name) expander
(info :type :lambda-list name) lambda-list)
(setf (info :type :kind name) :defined)))
(setf (info :type :expander name) expander
(info :type :lambda-list name) lambda-list)
+ (sb!c:with-source-location (source-location)
(setf (info :type :source-location name) source-location))
(when doc
(setf (fdocumentation name 'type) doc))
(setf (info :type :source-location name) source-location))
(when doc
(setf (fdocumentation name 'type) doc))
(defstruct foo)
(assert (progn (deftype foo () 'integer)
(null (find-class 'foo nil))
(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)))
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)