Code Inspection: Redundant fixed pointer declaration
Fixed size buffer fields are struct members available in unsafe contexts that represent C style in-line arrays. Such fields are primarily used for interoperation with native code.
Before C# 7.3 accessing the elements of a fixed size buffer which can possibly reside in memory movable by GC was allowed only after pinning the buffer with the
fixed statement, while fixed size buffers guaranteed to be located in non-movable memory could be indexed directly.
The requirement to introduce auxiliary fixed pointer declaration is unjustified for cases when fixed size buffer is only used to access its elements, because unless address of the buffer is stashed somewhere indexing is always safe.
C# 7.3 removed the unneeded limitation for indexing movable fixed size buffers and made their use more natural:
JetBrains Rider detects places where the use of the
fixed statement is not required and provides a quick-fix to remove redundant fixed pointer declaration.