Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
user avatar
pw authored
when compiling a method containing a make-instance call.
Test case:
~~~~~~~~~~~~~~~~~~~~~~~~~
(defclass some-class ()
  ((slot :initarg :slot)))

;; This generates compiler warnings about unknown function
;; Warning: Undefined function:
;;    PCL::|MAKE-INSTANCE COMMON-LISP-USER::SOME-CLASS (:SLOT) NIL|
;; which goes away once the form is loaded.

(defmethod fooey (x)
  (declare (ignore x)
	#+nil   (optimize (inhibit-warnings 3))) ; this quiets things down
  (make-instance 'some-class))

#|
In: DEFMETHOD FOOEY (T)
  (DEFMETHOD FOOEY (X) (MAKE-INSTANCE 'SOME-CLASS :SLOT X))
--> BLOCK MACROLET PCL::FAST-LEXICAL-METHOD-FUNCTIONS
--> PCL::BIND-FAST-LEXICAL-METHOD-MACROS MACROLET
--> PCL::BIND-LEXICAL-METHOD-FUNCTIONS LET PCL::BIND-ARGS LET* BLOCK
==>
  (PCL::|MAKE-INSTANCE COMMON-LISP-USER::SOME-CLASS (:SLOT) NIL| 'SOME-CLASS
   (LIST :SLOT X))
Warning: Undefined function: PCL::|MAKE-INSTANCE COMMON-LISP-USER::SOME-CLASS (:SLOT) NIL|


Warning: This function is undefined:
  PCL::|MAKE-INSTANCE COMMON-LISP-USER::SOME-CLASS (:SLOT) NIL|
|#
fe6eee57
History
Name Last commit Last update