public bool Equals(ref KeySegment <E, T> x, bool xIsWeak, ref KeySegment <E, T> y, bool yIsWeak) { return (_elementComparer.Equals(ref x._elementReference, xIsWeak, ref y._elementReference, yIsWeak) && _tail.Equals(ref x._tail, xIsWeak, ref y._tail, yIsWeak) ); }
public int GetHashCode(ref KeySegment <E, T> obj, bool objIsWeak) { return((int)Hasher.Rehash(_elementComparer.GetHashCode(ref obj._elementReference, objIsWeak)) ^ _tail.GetHashCode(ref obj._tail, objIsWeak)); }