Check argument mismatch for function arguments to callable parameters.
commit6938432f778b55485b2e60753262b9e03dd23d40
authorStas Boukarev <stassats@gmail.com>
Tue, 2 Feb 2016 17:07:06 +0000 (2 20:07 +0300)
committerStas Boukarev <stassats@gmail.com>
Tue, 2 Feb 2016 17:07:06 +0000 (2 20:07 +0300)
tree236ed6e2a466c769e7961209b099643bbeaccc0b
parent1d97c75473ebef83fa96ee154445a7414cc8f92d
Check argument mismatch for function arguments to callable parameters.

(find-if #'eql x) is now able to deduce that EQL is going to be called
with one argument and warn.

This introduces a pseudo-type-specifier for DEFKNOWN,
(callable arg-count), which is then used to build a function with the
same lambda-list as the type-specifier and which checks the LVARs
passed from VALID-FUN-USE.
NEWS
src/compiler/ctype.lisp
src/compiler/fndb.lisp
src/compiler/fun-info.lisp
src/compiler/ir1opt.lisp
src/compiler/knownfun.lisp
src/compiler/macros.lisp