((lambda-var-arg-info arg)
(let* ((info (lambda-var-arg-info arg))
(default (arg-info-default info))
- (def-type (when (constantp default)
- (ctype-of (eval default)))))
+ (def-type (when (sb!xc:constantp default)
+ (ctype-of (constant-form-value default)))))
(ecase (arg-info-kind info)
(:keyword
(let* ((key (arg-info-key info))
(type-specifier type))))
(t
(setf (leaf-type var) type)
- (dolist (ref (leaf-refs var))
- (derive-node-type ref (make-single-value-type type))))))
+ (let ((s-type (make-single-value-type type)))
+ (dolist (ref (leaf-refs var))
+ (derive-node-type ref s-type))))))
t))))))
;;; FIXME: This is quite similar to ASSERT-NEW-DEFINITION.