2
;;;; Author: Paul Dietz
3
;;;; Created: Tue May 6 06:48:48 2003
4
;;;; Contains: Tests of THE
9
(the (values) (values)))
16
(loop for e in *universe*
17
for x = (multiple-value-list (eval `(the (values) (quote ,e))))
18
unless (and x (not (cdr x)) (eql (car x) e))
23
(loop for e in *universe*
24
for x = (multiple-value-list (eval `(the ,(type-of e) (quote ,e))))
25
unless (and x (not (cdr x)) (eql (car x) e))
30
(loop for e in *universe*
31
for x = (multiple-value-list (eval `(the (values ,(type-of e))
33
unless (and x (not (cdr x)) (eql (car x) e))
38
(loop for e in *universe*
39
for x = (multiple-value-list (eval `(the (values ,(type-of e) t)
41
unless (and x (not (cdr x)) (eql (car x) e))
46
(loop for e in *universe*
47
for x = (multiple-value-list (eval `(the (values ,(type-of e))
48
(values (quote ,e) :ignored))))
49
unless (and (eql (length x) 2)
51
(eql (cadr x) :ignored))
56
(loop for e in *universe*
57
when (and (constantp e)
58
(not (eql (eval `(the ,(type-of e) ,e)) e)))
63
(loop for e in *universe*
64
when (and (constantp e)
65
(not (eql (eval `(the ,(class-of e) ,e)) e)))
70
(loop for e in *universe*
71
unless (eql (eval `(the ,(class-of e) ',e)) e)
76
(loop for e in *universe*
77
for type = (type-of e)
78
for x = (multiple-value-list (eval `(the ,type (the ,type
80
unless (and x (not (cdr x)) (eql (car x) e))
88
,@(loop for e in *mini-universe*
89
for type = (type-of e)
90
collect `(eqlt (quote ,e) (the ,type (quote ,e))))))))
91
(funcall (compile nil lexpr)))
97
(the (or symbol integer) (incf x))
102
(the (values &rest t) (values 'a 'b))
106
(the (values &rest symbol) (values 'a 'b))
110
(the (values &rest null) (values)))
113
(the (values symbol integer &rest null) (values 'a 1))
117
(the (values symbol integer &rest t) (values 'a 1 'foo '(x y)))
121
(let () (list (the (values) (eval '(values)))))
124
;;; This is from SBCL bug 261
126
(let () (list (the (values &optional fixnum) (eval '(values)))))
130
(let () (list (the (values &rest t) (eval '(values)))))
134
(the (values symbol integer &rest t) (eval '(values 'a 1 'foo '(x y))))
139
(the (values symbol integer &optional fixnum) (eval '(values 'a 1))))