Примеры ошибок, обнаруженных с помощью диагностики V3197
V3197. The compared value inside the 'Object.Equals' override is converted to a different type that does not contain the override.
Unity C# reference source code
V3197 The compared value inside the 'Object.Equals' override is converted to the 'SearchIndexEntry' type instead of 'SearchField' that contains the override. SearchItem.cs 634
public readonly struct SearchField : IEquatable<SearchField>
{
....
public override bool Equals(object other)
{
return other is SearchIndexEntry l && Equals(l);
}
public bool Equals(SearchField other)
{
return string.Equals(name, other.name, StringComparison.Ordinal);
}
}