[cl-ppcre-devel] FTYPE warnings
Alan Shields
Alan-Shields at omrf.ouhsc.edu
Tue Apr 12 17:22:35 UTC 2005
After the generic warnings were gone, this little jewel reared its head:
`-- new FTYPE proclamation
#<SB-KERNEL:FUN-TYPE (FUNCTION (T) (VALUES SIMPLE-STRING &REST
T))>
for STR does not match old FTYPE proclamation
#<SB-KERNEL:FUN-TYPE (FUNCTION (T) *)
What it's blathering on about is this:
(declaim (ftype (function (t) simple-string) str)
That "(declare (ftype))" for str (the accessor to class str in
regex-class:166) is in conflict with what the defclass function sets up
in SBCL.
Since the accessor is a generic function, knowing the return type
doesn't really help all that much - it's not statically bound to begin
with. Not to mention, the defclass for str sets up str as a string, so
simple-string is actually in conflict with that.
I ran some numbers on SBCL with and without the declaim, and I was not
able to find a difference in speed beyond the margin of error.
If it could be shown that declaiming the return type of the method would
help speed, might it be best to use (the)?
I admit, this is not my area of expertise, I'm just muddling through as
best I can.
Thanks,
Alan
--- ../cl-ppcre-1.2.5.old/regex-class.lisp 2005-03-09 08:05:56.000000000 -0600
+++ regex-class.lisp 2005-04-12 12:14:57.050904918 -0500
@@ -265,8 +265,6 @@
(slot-value char-class 'invertedp)
(not (slot-value char-class 'invertedp))))))
-(declaim (ftype (function (t) simple-string) str))
-
;;; The following four methods allow a VOID object to behave like a
;;; zero-length STR object (only readers needed)
More information about the Cl-ppcre-devel
mailing list