X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fcompiler.pure.lisp;h=a924be78910877212f60c07c554c35861036b002;hb=8863d95f6884b753887a71f9ac98c92cb953ada6;hp=bb495bd562691a3e9a03294ac7b467253f3c0b92;hpb=ab1d7976e745cabcc2e77c5b6eecc7fe6ad8111e;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index bb495bd..a924be7 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -3400,6 +3400,22 @@ (with-test (:name :unary-round-type-derivation) (let* ((src '(lambda (zone) (multiple-value-bind (h m) (truncate (abs zone) 1.0) + (declare (ignore h)) (round (* 60.0 m))))) (fun (compile nil src))) (assert (= (funcall fun 0.5) 30)))) + +(with-test (:name :bug-525949) + (let* ((src '(lambda () + (labels ((always-one () 1) + (f (z) + (let ((n (funcall z))) + (declare (fixnum n)) + (the double-float (expt n 1.0d0))))) + (f #'always-one)))) + (warningp nil) + (fun (handler-bind ((warning (lambda (c) + (setf warningp t) (muffle-warning c)))) + (compile nil src)))) + (assert (not warningp)) + (assert (= 1.0d0 (funcall fun)))))