alien.destructors: don't use disposable protocol, since it is common practice to 'leak' alien destructors (|Foo idiom)

db4
Slava Pestov 2009-08-24 20:45:46 -05:00
parent 8b68a07649
commit 7b6d00a833
1 changed files with 4 additions and 4 deletions

View File

@ -4,7 +4,7 @@ USING: functors destructors accessors kernel parser words
effects generalizations sequences ;
IN: alien.destructors
SLOT: alien
TUPLE: alien-destructor alien ;
FUNCTOR: define-destructor ( F -- )
@ -16,12 +16,12 @@ N [ F stack-effect out>> length ]
WHERE
TUPLE: F-destructor < disposable alien ;
TUPLE: F-destructor < alien-destructor ;
: <F-destructor> ( alien -- destructor )
F-destructor new-disposable swap >>alien ; inline
F-destructor boa ; inline
M: F-destructor dispose* alien>> F N ndrop ;
M: F-destructor dispose alien>> F N ndrop ;
: &F ( alien -- alien ) dup <F-destructor> &dispose drop ; inline