diff --git a/src/ImageSharp/Memory/Allocators/Internals/Gen2GcCallback.cs b/src/ImageSharp/Memory/Allocators/Internals/Gen2GcCallback.cs index c0737a1140..6f48c56696 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/Gen2GcCallback.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/Gen2GcCallback.cs @@ -42,7 +42,7 @@ internal sealed class Gen2GcCallback : CriticalFinalizerObject // Execute the callback method. try { - if (this.callback1 is not null && !this.callback1(targetObj)) + if (!this.callback1!(targetObj)) { // If the callback returns false, this callback object is no longer needed. this.weakTargetObj.Free(); @@ -63,7 +63,7 @@ internal sealed class Gen2GcCallback : CriticalFinalizerObject // Execute the callback method. try { - if (this.callback0 is not null && !this.callback0()) + if (!this.callback0!()) { // If the callback returns false, this callback object is no longer needed. return; diff --git a/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs b/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs index be4cb8c8e4..a18bd34474 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/ManagedBufferBase.cs @@ -43,5 +43,5 @@ internal abstract class ManagedBufferBase : MemoryManager /// Gets the object that should be pinned. /// /// The pinnable . - protected abstract object? GetPinnableObject(); + protected abstract object GetPinnableObject(); } diff --git a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs index 1d73b2ddf2..4952c6b5e4 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs @@ -40,7 +40,11 @@ internal class SharedArrayPoolBuffer : ManagedBufferBase, IRefCounted return MemoryMarshal.Cast(this.Array.AsSpan(0, this.lengthInBytes)); } - protected override object? GetPinnableObject() => this.Array; + protected override object GetPinnableObject() + { + Guard.NotNull(this.Array); + return this.Array; + } public void AddRef() { diff --git a/src/ImageSharp/Memory/Buffer2D{T}.cs b/src/ImageSharp/Memory/Buffer2D{T}.cs index a7957a9871..8c9093a35b 100644 --- a/src/ImageSharp/Memory/Buffer2D{T}.cs +++ b/src/ImageSharp/Memory/Buffer2D{T}.cs @@ -43,7 +43,7 @@ public sealed class Buffer2D : IDisposable /// Gets the backing . /// /// The MemoryGroup. - public IMemoryGroup? MemoryGroup => this.FastMemoryGroup.View; + public IMemoryGroup MemoryGroup => this.FastMemoryGroup.View; /// /// Gets the backing without the view abstraction. diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs index 237cbad7a7..d63fd2076c 100644 --- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs +++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.cs @@ -41,7 +41,7 @@ internal abstract partial class MemoryGroup : IMemoryGroup, IDisposable /// public bool IsValid { get; private set; } = true; - public MemoryGroupView? View { get; private set; } + public MemoryGroupView View { get; private set; } = null!; /// public abstract Memory this[int index] { get; }