Example code:
var value = 99;
var valuep: Pointer<Int> = untyped __cpp__("&{0}", value);
var map: Map<Pointer<Int>, String> = new Map();
map[valuep] = "thing";
trace(map);
for (lhs => rhs in map)
trace(lhs, rhs);
Result:
src/test.hx:105: [Pointer(0x7fff47307e04) => thing]
src/test.hx:107: Pointer(0x7fff47307e04),null
It looks as if doing looks on a map of pointers simply doesn’t work, as this produces the same result:
for (lhs in map.keys())
trace(lhs, map[lhs]);
Is this a known bug, and are there any workarounds?