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

Commitbc4e124

Browse files
dsymeKevinRansom
authored andcommitted
Fix 4638 - module rec in sigantures (dotnet#4639)
1 parentcf6ed62 commitbc4e124

File tree

5 files changed

+32
-11
lines changed

5 files changed

+32
-11
lines changed

‎src/fsharp/TypeChecker.fs‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16307,7 +16307,11 @@ module TcDeclarations =
1630716307
(fun _binds -> [ (* no values are available yet *) ])
1630816308
cenv true scopem m
1630916309

16310-
let _ = TcMutRecSignatureDecls_Phase2 cenv scopem envMutRecPrelimWithReprs withEnvs
16310+
let mutRecDefnsAfterVals = TcMutRecSignatureDecls_Phase2 cenv scopem envMutRecPrelimWithReprs withEnvs
16311+
16312+
// Updates the types of the modules to contain the contents so far, which now includes values and members
16313+
MutRecBindingChecking.TcMutRecDefns_UpdateModuleContents mutRecNSInfo mutRecDefnsAfterVals
16314+
1631116315
envMutRec
1631216316

1631316317
//-------------------------------------------------------------------------

‎tests/fsharp/tests.fs‎

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1684,12 +1684,24 @@ module TypecheckTests =
16841684
#endif
16851685

16861686
#if!FSHARP_SUITE_DRIVES_CORECLR_TESTS
1687+
1688+
[<Test>]
1689+
let``sigs pos26``()=
1690+
letcfg= testConfig"typecheck/sigs"
1691+
fsc cfg"%s --target:exe -o:pos26.exe" cfg.fsc_flags["pos26.fsi";"pos26.fs"]
1692+
peverify cfg"pos26.exe"
1693+
1694+
[<Test>]
1695+
let``sigs pos25``()=
1696+
letcfg= testConfig"typecheck/sigs"
1697+
fsc cfg"%s --target:exe -o:pos25.exe" cfg.fsc_flags["pos25.fs"]
1698+
peverify cfg"pos25.exe"
1699+
16871700
[<Test>]
16881701
let``sigs pos27``()=
16891702
letcfg= testConfig"typecheck/sigs"
16901703
fsc cfg"%s --target:exe -o:pos27.exe" cfg.fsc_flags["pos27.fs"]
16911704
copy_y cfg(cfg.FSCBinPath++"System.ValueTuple.dll")("."++"System.ValueTuple.dll")
1692-
16931705
peverify cfg"pos27.exe"
16941706

16951707
[<Test>]
@@ -1699,16 +1711,10 @@ module TypecheckTests =
16991711
peverify cfg"pos28.exe"
17001712

17011713
[<Test>]
1702-
let``sigspos26``()=
1714+
let``sigspos29``()=
17031715
letcfg= testConfig"typecheck/sigs"
1704-
fsc cfg"%s --target:exe -o:pos26.exe" cfg.fsc_flags["pos26.fsi";"pos26.fs"]
1705-
peverify cfg"pos26.exe"
1706-
1707-
[<Test>]
1708-
let``sigs pos25``()=
1709-
letcfg= testConfig"typecheck/sigs"
1710-
fsc cfg"%s --target:exe -o:pos25.exe" cfg.fsc_flags["pos25.fs"]
1711-
peverify cfg"pos25.exe"
1716+
fsc cfg"%s --target:exe -o:pos29.exe" cfg.fsc_flags["pos29.fsi";"pos29.fs";"pos29.app.fs"]
1717+
peverify cfg"pos29.exe"
17121718

17131719
[<Test>]
17141720
let``sigs pos24``()=
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
modulerecPos29App
2+
3+
letv= Pos29.x
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
modulePos29
2+
3+
typeA= int
4+
letx=1
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
modulerecPos29
2+
3+
valx:A
4+
typeA= int

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp