Opened 12 years ago
Closed 12 years ago
#300 closed defect (fixed)
Gray streams aren't streams
Reported by: | rschlatte | Owned by: | Mark Evenson |
---|---|---|---|
Priority: | major | Milestone: | 1.2.0 |
Component: | streams | Version: | 1.2.0-dev |
Keywords: | streams | Cc: | |
Parent Tickets: |
Description
(require :gray-streams) (subtypep 'gray-streams:fundamental-stream 'stream) ;; => NIL, T
This doesn't matter for flexi-streams and other libs, but cl-store has
a few DECLAREs. I don't know exactly when a type declaration is an
assertion in ABCL, but at least it is for a stream with nonzero safety.
(Reported by James M. Lawrence)
Change History (4)
comment:1 Changed 12 years ago by
Keywords: | streams added |
---|---|
Milestone: | → 1.2.0 |
Version: | → 1.2.0-dev |
comment:2 Changed 12 years ago by
Observed that the behavior changes once a GRAY-STREAM instance has been created:
CL-USER> (require :gray-streams) ; Loading jar:file:/home/evenson/work/abcl/dist/abcl.jar!/org/armedbear/lisp/gray-streams.abcl ... ; Loaded jar:file:/home/evenson/work/abcl/dist/abcl.jar!/org/armedbear/lisp/gray-streams.abcl (0.396 seconds) ("GRAY-STREAMS") CL-USER> (subtypep 'gray-streams:fundamental-stream 'stream) NIL T CL-USER> (make-instance 'gray-streams:fundamental-stream) #<GRAY-STREAMS:FUNDAMENTAL-STREAM {3FF6929C}> CL-USER> (subtypep 'gray-streams:fundamental-stream 'stream) T T
maybe this exposes a problem with CLOS?
comment:3 Changed 12 years ago by
MOP:FINALIZE-INHERITANCE is never called in gray-streams.lisp, so there is not a valid class precedence list.
Should we finalize the inheritance of all the classes in GRAY-STREAMS?
comment:4 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
This is a longstanding problem, that I will try to address in the abcl-1.2.0 release cycle, as it messes up parts of FLEXI-STREAMS handling. Now that MOP is mature, it should be a bit easier to wedge the necessary work in.
See #166, #188, #223, #233.
A draft of the proposed architectural changes in trunk/abcl/doc/design/streams.