X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fctype.lisp;h=948c0df4b95c761d109781195a1a8e98e7391f9f;hb=31361af9eb64344f521abbb245ea784c76c746e5;hp=e94c73226f226ab2a2ff72863cc6b83b3180a51a;hpb=334af30b26555f0bf706f7157b399bdbd4fad548;p=sbcl.git diff --git a/src/compiler/ctype.lisp b/src/compiler/ctype.lisp index e94c732..948c0df 100644 --- a/src/compiler/ctype.lisp +++ b/src/compiler/ctype.lisp @@ -423,7 +423,8 @@ (values boolean boolean)) valid-approximate-type)) (defun valid-approximate-type (call-type type &optional - (*test-function* #'types-intersect) + (*test-function* + #'types-equal-or-intersect) (*error-function* #'compiler-style-warning) (*warning-function* #'compiler-note)) @@ -730,7 +731,8 @@ (atype (when return (continuation-asserted-type (return-result return))))) (cond - ((and atype (not (values-types-intersect atype type-returns))) + ((and atype (not (values-types-equal-or-intersect atype + type-returns))) (note-lossage "The result type from ~A:~% ~S~@ conflicts with the definition's result type assertion:~% ~S"