X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=1bb7372cdfcbf6bd9a5bfc6af6cdf6a149eee387;hb=77c80b85dc9ae9bde0692d4193187bfca507b936;hp=58e3c7751ecda21dbfbee2d1177e6e78e22d488f;hpb=5a1e9fb26baf0171327bd8814cb803d781c67107;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index 58e3c77..1bb7372 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -474,6 +474,11 @@ (defknown %map-to-nil-on-vector (callable vector) null (flushable call)) (defknown %map-to-nil-on-sequence (callable sequence) null (flushable call)) +(defknown map-into (sequence callable &rest sequence) + sequence + (call) + :derive-type #'result-type-first-arg) + ;;; returns the result from the predicate... (defknown some (callable sequence &rest sequence) t (foldable unsafely-flushable call)) @@ -676,7 +681,7 @@ (defknown tree-equal (t t &key (:test callable) (:test-not callable)) boolean (foldable flushable call)) -(defknown endp (t) boolean (foldable unsafely-flushable movable)) +(defknown endp (list) boolean (foldable flushable movable)) (defknown list-length (list) (or index null) (foldable unsafely-flushable)) (defknown nth (index list) t (foldable flushable)) (defknown nthcdr (index list) t (foldable unsafely-flushable)) @@ -1143,12 +1148,7 @@ :rename-and-delete :overwrite :append :supersede nil)) (:if-does-not-exist (member :error :create nil)) - (:external-format - ;; FIXME: This is logically (MEMBER :DEFAULT), - ;; but as a workaround for bug 244, we don't - ;; declare it (to keep the compiler from trusting - ;; the declaration unchecked). - t)) + (:external-format (member :default))) (or stream null)) (defknown rename-file (pathname-designator filename) @@ -1171,11 +1171,7 @@ (:verbose t) (:print t) (:if-does-not-exist (member :error :create nil)) - (:external-format - ;; FIXME: This is logically (MEMBER :DEFAULT), but as a workaround - ;; for bug 244, we don't declare it (to keep the compiler from - ;; trusting the declaration unchecked). - t)) + (:external-format (member :default))) t) (defknown directory (pathname-designator &key) @@ -1320,6 +1316,11 @@ (defknown %%primitive (t t &rest t) *) (defknown %pop-values (t) t) (defknown %type-check-error (t t) nil) + +;; FIXME: This function does not return, but due to the implementation +;; of FILTER-CONTINUATION we cannot write it here. +(defknown %compile-time-type-error (t t t) *) + (defknown %odd-key-args-error () nil) (defknown %unknown-key-arg-error (t) nil) (defknown (%ldb %mask-field) (bit-index bit-index integer) unsigned-byte