the #dotnet 9+ fp-to-integer breaking changes causing grief at work again today.

Floating point-to-integer conversions now have saturating behavior on x86 and x64 machines. Saturating behavior means that if the converted value is too small or large for the target type, the value is set to the minimum or maximum value, respectively, for that type.
https://learn.microsoft.com/en-us/dotnet/core/compatibility/jit/9.0/fp-to-integer

Floating point-to-integer conversions are saturating - .NET

Learn about the breaking change in .NET 9 where floating point-to-integer conversions have saturating behavior.

@nietras I am not sure what the issue is right there, because to me the inconsistent behavior always felt like a bug. Personally I always try to avoid edge cases with floats for platform weirdness reasons, so while I'm personally not affected, what is the big issue with this fix?
@maxitb we have relied on negative floats simply being converted to large uints as per normal int to uint conversion, the change breaks that. Problem is the change is silent. And can happen for code inside nuget packages, not our own code.