parser vocabs.loader ;\r
IN: hashtables.identity\r
\r
-TUPLE: identity-wrapper < wrapped-key ;\r
+TUPLE: identity-wrapper < wrapped-key identity-hashcode ;\r
\r
-C: <identity-wrapper> identity-wrapper\r
+: <identity-wrapper> ( wrapped-key -- identity-wrapper )\r
+ dup identity-hashcode identity-wrapper boa ; inline\r
\r
M: identity-wrapper equal?\r
over identity-wrapper?\r
[ [ underlying>> ] bi@ eq? ]\r
[ 2drop f ] if ; inline\r
\r
-M: identity-wrapper hashcode*\r
- nip underlying>> identity-hashcode ; inline\r
+M: identity-wrapper hashcode* nip identity-hashcode>> ; inline\r
\r
TUPLE: identity-hashtable < wrapped-hashtable ;\r
\r