From d2f87f4143b41dfb0ca8f99a50d639702b9aaaf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Strehovsk=C3=BD?= Date: Fri, 3 Mar 2023 13:19:26 +0900 Subject: [PATCH] Implement interfaces in the non-generic enumerator base (#82923) * Implement IDisposable in the non-generic enumerator base ...so that the interface implementation details go to the non-generic dispatch map. Saves 1.5 kB on BasicMinimalApi. * f --- .../System.Private.CoreLib/src/System/Array.Enumerators.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Array.Enumerators.cs b/src/libraries/System.Private.CoreLib/src/System/Array.Enumerators.cs index 0b80108d952866..90542e9685cf5c 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Array.Enumerators.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Array.Enumerators.cs @@ -67,7 +67,7 @@ public void Reset() } } - internal abstract class SZGenericArrayEnumeratorBase + internal abstract class SZGenericArrayEnumeratorBase : IDisposable { protected readonly Array _array; protected int _index; @@ -141,7 +141,7 @@ public T Current object? IEnumerator.Current => Current; } - internal abstract class GenericEmptyEnumeratorBase + internal abstract class GenericEmptyEnumeratorBase : IDisposable, IEnumerator { #pragma warning disable CA1822 // https://github.com/dotnet/roslyn-analyzers/issues/5911 public bool MoveNext() => false;