Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit124e934

Browse files
ncaveKevinRansom
authored andcommitted
implement IDisposable interfaces explicitly (#3447)
* added IDisposable* reverted Dispose change
1 parentdc744fd commit124e934

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

‎src/fsharp/FSharp.Core/prim-types.fs‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5260,10 +5260,11 @@ namespace Microsoft.FSharp.Core
52605260
state.Current
52615261

52625262
{new IEnumerator<'T>with
5263-
member__.Dispose()=()
5264-
52655263
member__.Current= current()
52665264

5265+
interface System.IDisposablewith
5266+
member__.Dispose()=()
5267+
52675268
interface IEnumeratorwith
52685269
member__.Current= box(current())
52695270

@@ -5317,9 +5318,11 @@ namespace Microsoft.FSharp.Core
53175318
derefValue
53185319

53195320
{new IEnumerator<'T>with
5320-
member__.Dispose()=()
53215321
member__.Current= current()
53225322

5323+
interface System.IDisposablewith
5324+
member__.Dispose()=()
5325+
53235326
interface IEnumeratorwith
53245327
member__.Current= box(current())
53255328
member__.Reset()= value:= n- LanguagePrimitives.GenericOne

‎src/fsharp/FSharp.Core/seq.fs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ namespace Microsoft.FSharp.Collections
406406
ifnot finishedthen disposeG g
407407

408408
// Internal type, used to optimize Enumerator/Generator chains
409-
typeLazyGeneratorWrappingEnumerator<'T>(e:System.Collections.Generic.IEnumerator<'T>)=
409+
typeLazyGeneratorWrappingEnumerator<'T>(e:IEnumerator<'T>)=
410410
memberg.Enumerator= e
411411
interface Generator<'T>with
412412
memberg.Apply=(fun()->
@@ -419,9 +419,9 @@ namespace Microsoft.FSharp.Collections
419419
letEnumerateFromGenerator(g:Generator<'T>)=
420420
match gwith
421421
|:? LazyGeneratorWrappingEnumerator<'T>as g-> g.Enumerator
422-
|_->(new EnumeratorWrappingLazyGenerator<_>(g):>System.Collections.Generic.IEnumerator<_>)
422+
|_->(new EnumeratorWrappingLazyGenerator<'T>(g):> IEnumerator<'T>)
423423

424-
letGenerateFromEnumerator(e:System.Collections.Generic.IEnumerator<'T>)=
424+
letGenerateFromEnumerator(e:IEnumerator<'T>)=
425425
match ewith
426426
|:? EnumeratorWrappingLazyGenerator<'T>as e-> e.Generator
427427
|_->(new LazyGeneratorWrappingEnumerator<'T>(e):> Generator<'T>)

‎src/fsharp/FSharp.Core/seqcore.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,7 @@ namespace Microsoft.FSharp.Core.CompilerServices
395395
memberx.GetEnumerator()=(x.GetFreshEnumerator():> IEnumerator)
396396
interface IEnumerator<'T>with
397397
memberx.Current=if redirectthen redirectTo.LastGeneratedelse x.LastGenerated
398+
interface System.IDisposablewith
398399
memberx.Dispose()=if redirectthen redirectTo.Close()else x.Close()
399400
interface IEnumeratorwith
400401
memberx.Current= box(if redirectthen redirectTo.LastGeneratedelse x.LastGenerated)

‎src/fsharp/FSharp.Core/seqcore.fsi‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,4 @@ namespace Microsoft.FSharp.Core.CompilerServices
148148
interface IEnumerable
149149
interface IEnumerator<'T>
150150
interface IEnumerator
151+
interface IDisposable

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp