From 10404265654959fb18586d3c2d07150ed64841fd Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 4 Apr 2009 20:21:41 -0500 Subject: [PATCH] Fix alien hashcode for expired aliens --- core/alien/alien-tests.factor | 4 +++- core/alien/alien.factor | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/alien/alien-tests.factor b/core/alien/alien-tests.factor index 57dc298c00..aa65a3e2d8 100644 --- a/core/alien/alien-tests.factor +++ b/core/alien/alien-tests.factor @@ -1,6 +1,6 @@ USING: accessors alien alien.accessors alien.syntax byte-arrays arrays kernel kernel.private namespaces tools.test sequences libc math -system prettyprint layouts alien.libraries ; +system prettyprint layouts alien.libraries sets ; IN: alien.tests [ t ] [ -1 alien-address 0 > ] unit-test @@ -86,3 +86,5 @@ f initialize-test set-global [ ] [ initialize-test get BAD-ALIEN >>alien drop ] unit-test [ 7575 ] [ initialize-test [ 7575 ] initialize-alien ] unit-test + +[ { BAD-ALIEN } ] [ { BAD-ALIEN BAD-ALIEN BAD-ALIEN } prune ] unit-test \ No newline at end of file diff --git a/core/alien/alien.factor b/core/alien/alien.factor index 05f5223548..ec38e3be5b 100644 --- a/core/alien/alien.factor +++ b/core/alien/alien.factor @@ -49,7 +49,7 @@ M: alien equal? 2drop f ] if ; -M: simple-alien hashcode* nip alien-address ; +M: simple-alien hashcode* nip dup expired>> [ drop 1234 ] [ alien-address ] if ; ERROR: alien-callback-error ;