diff --git a/ArchiSteamFarm/Collections/ConcurrentHashSet.cs b/ArchiSteamFarm/Collections/ConcurrentHashSet.cs index b859f6ba9..15c3153c5 100644 --- a/ArchiSteamFarm/Collections/ConcurrentHashSet.cs +++ b/ArchiSteamFarm/Collections/ConcurrentHashSet.cs @@ -105,6 +105,7 @@ public sealed class ConcurrentHashSet : IReadOnlySet, ISet where T : no } } + [MustDisposeResource] public IEnumerator GetEnumerator() => BackingCollection.Keys.GetEnumerator(); public void IntersectWith(IEnumerable other) { diff --git a/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs b/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs index fe4d28aa4..3e713ac53 100644 --- a/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs +++ b/ArchiSteamFarm/Collections/FixedSizeConcurrentQueue.cs @@ -25,6 +25,7 @@ using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; +using JetBrains.Annotations; namespace ArchiSteamFarm.Collections; @@ -51,7 +52,9 @@ internal sealed class FixedSizeConcurrentQueue : IEnumerable where T : not MaxCount = maxCount; } + [MustDisposeResource] public IEnumerator GetEnumerator() => BackingQueue.GetEnumerator(); + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); internal void Enqueue(T obj) { diff --git a/ArchiSteamFarm/Collections/ObservableConcurrentDictionary.cs b/ArchiSteamFarm/Collections/ObservableConcurrentDictionary.cs index b962c905d..322e3857e 100644 --- a/ArchiSteamFarm/Collections/ObservableConcurrentDictionary.cs +++ b/ArchiSteamFarm/Collections/ObservableConcurrentDictionary.cs @@ -124,6 +124,7 @@ public sealed class ObservableConcurrentDictionary : IDictionary>) BackingDictionary).CopyTo(array, arrayIndex); } + [MustDisposeResource] public IEnumerator> GetEnumerator() => BackingDictionary.GetEnumerator(); public bool Remove(KeyValuePair item) {