Activity log for bug #309446

Date Who What changed Old value New value Message
2008-12-18 20:15:06 Nikodemus Siivola bug added bug
2008-12-21 13:33:34 Nikodemus Siivola description (reported by Alexey Dejneka sbcl-devel 2002-08-04) a. DEFCLASS does not inform the compiler about generated functions. Compiling a file with (DEFCLASS A-CLASS () ((A-CLASS-X))) (DEFUN A-CLASS-X (A) (WITH-SLOTS (A-CLASS-X) A A-CLASS-X)) results in a STYLE-WARNING: undefined-function SB-SLOT-ACCESSOR-NAME::|COMMON-LISP-USER A-CLASS-X slot READER| APD's fix for this was checked in to sbcl-0.7.6.20, but Pierre Mai points out that the declamation of functions is in fact incorrect in some cases (most notably for structure classes). This means that at present erroneous attempts to use WITH-SLOTS and the like on classes with metaclass STRUCTURE-CLASS won't get the corresponding STYLE-WARNING. [much later, in 2006-08] in fact it's no longer erroneous to use WITH-SLOTS on structure-classes. However, including :METACLASS STRUCTURE-CLASS in the class definition gives a whole bunch of function redefinition warnings, so we're still not good to close this bug... c. (fixed in 0.8.4.23) (reported by Alexey Dejneka sbcl-devel 2002-08-04) DEFCLASS does not inform the compiler about generated functions. Compiling a file with (DEFCLASS A-CLASS () ((A-CLASS-X))) (DEFUN A-CLASS-X (A) (WITH-SLOTS (A-CLASS-X) A A-CLASS-X)) used to result in a STYLE-WARNING: undefined-function SB-SLOT-ACCESSOR-NAME::|COMMON-LISP-USER A-CLASS-X slot READER| APD's fix for this was checked in to sbcl-0.7.6.20, but Pierre Mai points out that the declamation of functions is in fact incorrect in some cases (most notably for structure classes). This means that at present erroneous attempts to use WITH-SLOTS and the like on classes with metaclass STRUCTURE-CLASS won't get the corresponding STYLE-WARNING. [much later, in 2006-08] in fact it's no longer erroneous to use WITH-SLOTS on structure-classes. However, including :METACLASS STRUCTURE-CLASS in the class definition gives a whole bunch of function redefinition warnings, so we're still not good to close this bug: CL-USER> (defclass myf () (x y z) (:metaclass structure-class)) STYLE-WARNING: redefining |MYF structure class constructor| in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF X SB-PCL::READER) in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF Y SB-PCL::READER) in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF Z SB-PCL::READER) in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF X SB-PCL::WRITER) in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF Y SB-PCL::WRITER) in DEFUN STYLE-WARNING: redefining (SB-PCL::SLOT-ACCESSOR MYF Z SB-PCL::WRITER) in DEFUN #<STRUCTURE-CLASS MYF>
2008-12-21 13:33:34 Nikodemus Siivola title Miscellaneous PCL deficiencies DEFCLASS :METACLASS STRUCTURE-CLASS gives STLE-WARNINGS for function redefinitions
2008-12-21 13:33:58 Nikodemus Siivola sbcl: status New Confirmed
2008-12-21 13:33:58 Nikodemus Siivola sbcl: importance Undecided Low
2008-12-21 13:33:58 Nikodemus Siivola sbcl: statusexplanation