class predicate context doesn't include superclass fields
Status: Pre-Alpha
Brought to you by:
dougorleans
The context returned by a class predicate when invoked
on a subclass instance only includes the subclass
fields. Among other things, this breaks ->list:
> (define-class super? () (x))
> (define-class sub? (super?) (y))
> (define obj (make sub? 1 2))
> (context-bindings (super? obj))
((y . #<procedure>))
> (context-bindings (sub? obj))
((y . #<procedure>))
> (->list obj)
context-value: missing required binding: x