Hi again,
I'm messing with `call-next-method', but keep getting warnings like
"asserted type conflicts with derived type" even for very simple cases.
This is SBCL-0.9.13.
(defclass A ()
())
(defclass B (A)
())
(defmethod test ((b B))
(call-next-method)
(write-line "B"))
When compiling `test' i get:
; caught warning:
; Asserted type (mod 536870911) conflicts with derived type
; (values (or function sb-pcl::method-call
sb-pcl::fast-method-call) &optional).
; See also:
; The SBCL Manual, Node "Handling of Types"
I guess I could live with this was it not for the fact that it seems to
stop compilation (at least via ASDF using `require') even though it's
only a warning.
Any ideas?
--
mvh,
Lars Rune Nøstdal
http://lars.nostdal.org/
"Lars Rune Nøstdal" <···········@gmail.com> writes:
> Hi again,
> I'm messing with `call-next-method', but keep getting warnings like
> "asserted type conflicts with derived type" even for very simple cases.
> This is SBCL-0.9.13.
> [...]
> I guess I could live with this was it not for the fact that it seems to
> stop compilation (at least via ASDF using `require') even though it's
> only a warning.
>
> Any ideas?
Are you compiling with (debug 3) globally? There's a known issue,
discussed on the SBCL mailing lists, where the instrumentation for the
stepper confuses the type inference engine in the expansion of methods
with call-next-method.
Christophe