X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fclos.impure.lisp;h=bff25d88bea45b3cd6ce8d6f4c951f8a7f0e60c4;hb=5728601f88c400d2992b6b8c70d8971d07de9029;hp=78647218d9605df3299021fb29072b4aa4d9f596;hpb=5f891793819e3cd714c443c9a0a7223b4fb13dd0;p=sbcl.git diff --git a/tests/clos.impure.lisp b/tests/clos.impure.lisp index 7864721..bff25d8 100644 --- a/tests/clos.impure.lisp +++ b/tests/clos.impure.lisp @@ -2101,5 +2101,22 @@ ;; DEFMETHOD (sb-cltl2:macroexpand-all '(defmethod x (a) (macro)))) +(with-test (:name (:defmethod-undefined-function :bug-503095)) + (flet ((test-load (file) + (let (implicit-gf-warning) + (handler-bind + ((sb-ext:implicit-generic-function-warning + (lambda (x) + (setf implicit-gf-warning x) + (muffle-warning x))) + ((or warning error) #'error)) + (load file)) + (assert implicit-gf-warning)))) + (multiple-value-bind (fasl warnings errorsp) (compile-file "bug-503095.lisp") + (unwind-protect + (progn (assert (and fasl (not warnings) (not errorsp))) + (test-load fasl)) + (and fasl (delete-file fasl)))) + (test-load "bug-503095-2.lisp"))) ;;;; success