diff --git a/core/assocs/assocs.factor b/core/assocs/assocs.factor index 58a2a29eb1..0508d2e569 100644 --- a/core/assocs/assocs.factor +++ b/core/assocs/assocs.factor @@ -117,7 +117,7 @@ M: assoc assoc-clone-like ( assoc exemplar -- newassoc ) [ at* [ = ] [ 2drop f ] if ] with-assoc assoc-all? ; : assoc= ( assoc1 assoc2 -- ? ) - [ assoc-subset? ] [ swap assoc-subset? ] 2bi and ; + 2dup [ assoc-size ] bi@ eq? [ assoc-subset? ] [ 2drop f ] if ; : assoc-hashcode ( n assoc -- code ) >alist hashcode* ; diff --git a/core/hashtables/hashtables.factor b/core/hashtables/hashtables.factor index be5aa97634..e7acf12454 100644 --- a/core/hashtables/hashtables.factor +++ b/core/hashtables/hashtables.factor @@ -151,10 +151,7 @@ M: hashtable clone (clone) [ clone ] change-array ; inline M: hashtable equal? - over hashtable? [ - 2dup [ assoc-size ] bi@ eq? - [ assoc= ] [ 2drop f ] if - ] [ 2drop f ] if ; + over hashtable? [ assoc= ] [ 2drop f ] if ; ! Default method M: assoc new-assoc drop ; inline