// hash keys. That is, the hash values must not depend on the index
// dimensions or other attributes (variance etc.).
// The compare_same_type() methods will take care of the rest.
- unsigned v = golden_ratio_hash((unsigned)tinfo());
+ unsigned v = golden_ratio_hash((p_int)tinfo());
v = rotate_left(v);
v ^= value.gethash();
if (it != m.end()) {
// Substitution index->index
- if (is_a<idx>(it->second))
+ if (is_a<idx>(it->second) || (options & subs_options::really_subs_idx))
return it->second;
// Otherwise substitute value