Opened 6 weeks ago
Last modified 6 weeks ago
#485 new defect
Differing &keyword generic method signatures cannot be eval'd
Reported by: | Mark Evenson | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.8.1 |
Component: | interpreter | Version: | 1.8.1-dev |
Keywords: | Cc: | ||
Parent Tickets: |
Description
<https://irclog.tymoon.eu/freenode/%23abcl?from=1611187078>
0:12:54 emaczen Is there a setting I can change in ABCL to not care if a method definition does not have all the keyword arguments as another method? 0:13:14 emaczen does not accept all of the keyword arguments defined for the generic function -- This is the ABCL error I am getting 0:13:42 emaczen SBCL and CCL do not care 0:30:42 charles` Is that only for keyword arguments, because SBCL definitely cares if I have different # of parameters for same method name 1:19:18 robertm Maybe you could use &allow-other-keys ? (Just a guess.) 1:53:50 etimmons emaczen: Based on your description and some quick tests I'm guessing you're implicitly defining the generic function with defmethod. Try using an explicit defgeneric. 1:57:24 etimmons It does appear there's a bug in how defmethod defines the lambda list of the implicit defgeneric https://plaster.tymoon.eu/view/2247#2247 2:00:37 etimmons If (fboundp function-name) is nil, a generic function is created [...] the lambda list of the generic function will mention ..... key (but no keyword arguments)
Eval'ing non-congruent forms fails with a simple-error
but compiling seems to work.
Change History (3)
comment:1 Changed 6 weeks ago by
comment:2 Changed 6 weeks ago by
Summary: | Non-congruent generic method signatures cannot be eval'd → Differing &keyword generic method signatures cannot be eval'd |
---|
comment:3 Changed 6 weeks ago by
The following forms will compile as a file unit, but fail when evaluated in a REPL.
(in-package :cl-user) (defmethod test ((a integer) &key b c) (declare (ignore a b c))) (defmethod test ((a real) &key b) (declare (ignore (a b))))
Note: See
TracTickets for help on using
tickets.
jackdaniel schooled easye on #abcl: