(let ((usage-after (sb-kernel::dynamic-usage)))
(when (< (+ usage-before 2000000) usage-after)
(error "Leak")))))
+
+;;; PROGV compilation and type checking when the declared type
+;;; includes a FUNCTION subtype.
+(declaim (type (or (function (t) (values boolean &optional)) string)
+ *hairy-progv-var*))
+(defvar *hairy-progv-var* #'null)
+(with-test (:name :hairy-progv-type-checking)
+ (assert (eq :error
+ (handler-case
+ (progv '(*hairy-progv-var*) (list (eval 42))
+ *hairy-progv-var*)
+ (type-error () :error))))
+ (assert (equal "GOOD!"
+ (progv '(*hairy-progv-var*) (list (eval "GOOD!"))
+ *hairy-progv-var*))))
\f
;;;; tests not in the problem domain, but of the consistency of the
;;;; compiler machinery itself
(setf *mystery* :mystery)
(assert (eq :ok (test-mystery (make-thing :slot :mystery))))
-;;; PROGV compilation and type checking when the declared type
-;;; includes a FUNCTION subtype.
-(declaim (type (or (function (t) (values boolean &optional)) string)
- *hairy-progv-var*))
-(defvar *hairy-progv-var* #'null)
-(with-test (:name :hairy-progv-type-checking)
- (assert (eq :error
- (handler-case
- (progv '(*hairy-progv-var*) (list (eval 42))
- *hairy-progv-var*)
- (type-error () :error))))
- (assert (equal "GOOD!"
- (progv '(*hairy-progv-var*) (list (eval "GOOD!"))
- *hairy-progv-var*))))
;;; success
;;; 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".)
-"1.0.28.5"
+"1.0.28.6"