When using C# new type ref struct
or readonly ref struct
(both nullable) SonarQube warns a false-positive on if
statements against null check, saying that they will always be false.
When working either directly with the new types or, specially and most importantly, through Span<T>
and ReadOnlySpan<T>
you should check for null as even those types being structs, they are references and a reference can be null.
Visual Studio version: 2019 (16.0.4).
SonarLint plugin version: 4.8.
Some sample code:
public void TestMethod(ReadOnlySpan<byte> span)
{
if (span == null) { throw new ArgumentNullException(); }
}