Inliner doesn't propagate type constraints correctly
Compile this code with a compiler:
(declaim (inline ensure-function))
(defun ensure-function (function-designator)
(if (functionp function-designator)
function-designator
(fdefinition function-designator)))
(defun xxx ()
(ensure-function #'gensym))
- Expected: compilation without warnings
- Observed:
;;; Style warning:
;;; in file xxx.lisp, position 312
;;; at (DEFUN XXX ...)
;;; ! The argument 1 of function FDEFINITION has type
;;; FUNCTION
;;; instead of expected
;;; FUNCTION-NAME
;;; Finished compiling /home/jack/Pulpit/repo/ecl/xxx.lisp.
happens on current develop branch aa5ed8bc
Edited by Daniel Kochmański