Репро:
using System;
struct StructWithDoubleField
{
public double value;
}
class My {
static void Main() {
StructWithDoubleField s1;
s1.value = 0.0;
StructWithDoubleField s2;
s2.value = -0.0;
Console.WriteLine(s1.GetHashCode() == s2.GetHashCode() ? "PASSED" : "FAILED");
}
}
Реализация по умолчанию GetHashCode
для структур должна была быть throw new NotSupportedException("Tomato!");
:grin:
https://github.com/dotnet/coreclr/pull/13164 пропустил этот случай.
@jkotas , каков процесс запроса переноса хотя бы части поля object
исправления в выпуск исправления? Учитывая сообщения об ошибках нисходящего потока, о которых сообщают клиенты, такие как aspnet/Mvc#7673, кажется, что нам это нужно, по крайней мере, в 2.0.x.
/cc @davidfowl @Eilon @Petermarcu
Самый полезный комментарий
Реализация по умолчанию
GetHashCode
для структур должна была бытьthrow new NotSupportedException("Tomato!");
:grin: