AL0005: Use SequenceEqual for Span non-constant comparison
When comparing Span and a non-constant, use SequenceEqual instead of equality operators, unless you want to compare addresses.
When it triggers
ReadOnlySpan<char> span1 = GetSpan();
ReadOnlySpan<char> span2 = GetOtherSpan();
// Warning: Use SequenceEqual instead of equality operators
if (span1 == span2) { } // AL0005
Why this matters
Using == on Span types compares references/addresses, not content. For non-constant comparisons where pattern matching isn't available, use SequenceEqual for content comparison.
How to fix
Use SequenceEqual:
ReadOnlySpan<char> span1 = GetSpan();
ReadOnlySpan<char> span2 = GetOtherSpan();
if (span1.SequenceEqual(span2)) { } // Compares content
Configuration
[*.cs]
dotnet_diagnostic.AL0005.severity = warning