Vetor<T> sempre lança NotSupportedException para tipos sem compatibilidade
System.Numerics.Vector<T> agora sempre gera um NotSupportedException para parâmetro de tipo não compatível.
Descrição das alterações
Anteriormente, os membros de Vector<T> nem sempre lançavam um NotSupportedException quando T
era um tipo sem compatibilidade. A exceção nem sempre foi gerada devido a caminhos de código com suporte para aceleração de hardware. Por exemplo, Vector<bool> + Vector<bool>
retornou default
em vez de lançar uma exceção em plataformas que não têm aceleração de hardware, como o Arm32. Para tipos sem suporte, os membros de Vector<T> exibiam um comportamento inconsistente em diferentes plataformas e configurações de hardware.
A partir do .NET 5, os membros de Vector<T> sempre lançam um NotSupportedException em todas as configurações de hardware quando T
não é um tipo compatível.
Tipos não compatíveis
Os tipos compatíveis para o parâmetro de tipo de Vector<T> são:
byte
sbyte
short
ushort
int
uint
long
ulong
float
double
No entanto, os tipos compatíveis não foram alterados.
Versão introduzida
5,0
Ação recomendada
Não use um tipo não compatível para o parâmetro de tipo de Vector<T>.
APIs afetadas
- System.Numerics.Vector<T> e todos os seus membros