X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.pure.lisp;h=3bc80da718b8d535394d0f98dba126055644546c;hb=c3af3cf3704ce01c71de96cc36c2798014fc9960;hp=fbdd62b462133f552142ed13a0ccc9ac959e9e7c;hpb=3a5eea238fd103af32a3d26082d1b9f7388ddf4b;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index fbdd62b..3bc80da 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -4001,3 +4001,13 @@ (+ #C(0.0 1.0) x))))) (assert (= (funcall fun #C(1.0 2.0)) #C(1.0 3.0))))) + +;; A refactoring 1.0.12.18 caused lossy computation of primitive +;; types for member types. +(with-test (:name :member-type-primitive-type) + (let ((fun (compile nil `(lambda (p1 p2 p3) + (if p1 + (the (member #c(1.2d0 1d0)) p2) + (the (eql #c(1.0 1.0)) p3)))))) + (assert (eql (funcall fun 1 #c(1.2d0 1d0) #c(1.0 1.0)) + #c(1.2d0 1.0d0)))))