+
+(defvar *file* #p"full-eval-temp.lisp")
+(with-test (:name (:full-eval :redefinition-warnings))
+ (with-open-file (stream *file* :direction :output :if-exists :supersede)
+ (write '(defun function-for-redefinition () nil) :stream stream))
+ (handler-bind ((warning #'error))
+ (let ((sb-ext:*evaluator-mode* :interpret))
+ (load *file*)
+ (load *file*))
+ (let ((sb-ext:*evaluator-mode* :compile))
+ (load *file*))))
+(delete-file *file*)