]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix map>assoc where the input is a specialized array
authorSlava Pestov <slava@factorcode.org>
Tue, 4 Dec 2007 00:29:16 +0000 (19:29 -0500)
committerSlava Pestov <slava@factorcode.org>
Tue, 4 Dec 2007 00:29:16 +0000 (19:29 -0500)
core/assocs/assocs-tests.factor
core/assocs/assocs.factor

index b38ce82052549457392c40582d13d737f0418ab8..8fabee06ef66b929d0637f1427ae54fcce265214 100644 (file)
@@ -87,3 +87,9 @@ unit-test
 [ H{ { 1 2 } { 3 4 } } ]
 [ "hi" 5 H{ { 1 2 } { 3 4 } } clone [ rename-at ] keep ]
 unit-test
+
+[
+    H{ { 1.0 1.0 } { 2.0 2.0 } }
+] [
+    F{ 1.0 2.0 } [ dup ] H{ } map>assoc
+] unit-test
index 272a763b7b9a521a5e58ec5cac49d34e6e6fed4b..40b35a931b14c8dcea1e22e75c55fd49847ab67d 100644 (file)
@@ -135,7 +135,7 @@ M: assoc assoc-clone-like ( assoc exemplar -- newassoc )
     [ 0 or + ] change-at ;
 
 : map>assoc ( seq quot exemplar -- assoc )
-    >r [ 2array ] compose map r> assoc-like ; inline
+    >r [ 2array ] compose { } map-as r> assoc-like ; inline
 
 M: assoc >alist [ 2array ] { } assoc>map ;