let (declaim (ftype function foo)) pass - gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamm Maguire <camm@debian.org>2013年11月04日 15:27:07 +0000
committerCamm Maguire <camm@debian.org>2013年11月05日 17:45:58 +0000
commit11156aee420c7ed858998f445a8880b44309ef77 (patch)
tree0b8ae95b705f70ba360db88b5b1786201685f4a7
parentc66b8742e9c4cdea76e6bdbec2729a6406233e1b (diff)
downloadgcl-11156aee420c7ed858998f445a8880b44309ef77.tar.gz
let (declaim (ftype function foo)) pass
Diffstat
-rwxr-xr-xgcl/cmpnew/gcl_cmpenv.lsp 7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcl/cmpnew/gcl_cmpenv.lsp b/gcl/cmpnew/gcl_cmpenv.lsp
index 51d50e446..1e9a26bc6 100755
--- a/gcl/cmpnew/gcl_cmpenv.lsp
+++ b/gcl/cmpnew/gcl_cmpenv.lsp
@@ -382,9 +382,10 @@
(type
(proclaim-var (cadr decl) (cddr decl)))
(ftype
- (check-type (cadr decl) cons)
- (check-type (caadr decl) (eql function))
- (add-function-proclamation (caddr decl) (cdr (cadr decl)) (cddr decl)))
+ (let* ((d (cdr decl))(def (pop d)))
+ (assert (subtypep def 'function))
+ (when (listp def)
+ (add-function-proclamation (pop d) (cdr def) d))))
(function
(add-function-proclamation (cadr decl) (cddr decl) nil))
(inline
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月02日 01:14:07 +0000

AltStyle によって変換されたページ (->オリジナル) /