[armedbear-ticket] [armedbear] #106: DEFSTRUCT :include with :conc-name
#106: DEFSTRUCT :include with :conc-name ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: nobody Type: defect | Status: new Priority: major | Milestone: Component: libraries | Version: Keywords: | ------------------------+--------------------------------------------------- Juliusz Chroboczek Juliusz.Chroboczek at pps-jussieu-fr writes Consider the following: (defstruct item a) (defstruct (item1 (:include item) (:conc-name item-)) b) (defun abcl-bug () (item-a (make-item :a 'a))) According to the last paragraph of the description of the description of :conc-name in the defstruct section of the CLHS, this is legal. However, abcl says: ABCL-BUG(6): (abcl-bug) #<THREAD "interpreter" {108F8E0}>: Debugger invoked on condition of type SIMPLE-TYPE-ERROR The value #<ABCL-BUG::ITEM {537935}> is not of type ABCL-BUG::ITEM1. Restarts: 0: TOP-LEVEL Return to top level. [1] ABCL-BUG(7): The section he's referring to is this bit which is part of the DEFSTRUCT documentation for the :conc-name keyword argument: Whether or not the :conc-name option is explicitly supplied, the following rule governs name conflicts of generated reader (or accessor) names: For any structure type S1 having a reader function named R for a slot named X1 that is inherited by another structure type S2 that would have a reader function with the same name R for a slot named X2, no definition for R is generated by the definition of S2; instead, the definition of R is inherited from the definition of S1. (In such a case, if X1 and X2 are different slots, the implementation might signal a style warning.) -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/106> armedbear <http://common-lisp.net/project/armedbear> armedbear
#106: DEFSTRUCT :include with :conc-name -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: nobody Type: defect | Status: closed Priority: major | Milestone: Component: libraries | Version: Resolution: fixed | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann): * status: new => closed * resolution: => fixed Comment: (In [12933]) Fix #106: DEFSTRUCT :include with :conc-name. -- Ticket URL: <http://trac.common-lisp.net/armedbear/ticket/106#comment:1> armedbear <http://common-lisp.net/project/armedbear> armedbear
participants (1)
-
armedbear