Just wondering why Enumerable.Range
implements IDisposable
.
I understand why IEnumerator<T>
does, but IEnumerable<T>
doesn't require it.
(I discovered this while playing with my .Memoise() implementation, which has statement like
if (enumerable is IDisposable)
((IDisposable)enumerable).Dispose();
in its "source finished" method that I had placed a breakpoint on out of curiousity, and was triggered by a test.)