mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-16 14:21:48 -08:00
Propagate the type of a function when invoked through APPLY
This commit is contained in:
parent
92d1290de4
commit
2feea55b31
1 changed files with 7 additions and 1 deletions
|
|
@ -32,7 +32,13 @@
|
|||
(member (caadr fun) '(LAMBDA EXT::LAMBDA-BLOCK)))
|
||||
(c1apply (list* (second fun) arguments)))
|
||||
(t
|
||||
(c1funcall (list* '#'APPLY args))))))
|
||||
(let ((form (c1funcall (list* '#'APPLY args))))
|
||||
(when (and (consp fun) (eq (first fun) 'FUNCTION))
|
||||
(let* ((fname (second fun))
|
||||
(type (get-return-type fname)))
|
||||
(when type
|
||||
(setf (c1form-type form) type))))
|
||||
form)))))
|
||||
|
||||
;;----------------------------------------------------------------------
|
||||
;; We transform BOOLE into the individual operations, which have
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue