Skip to content

Commit 7abe97c

Browse files
authored
Merge pull request #18258 from dotnet/merges/main-to-release/dev17.14
Merge main to release/dev17.14
2 parents 4c4ddfd + 950437d commit 7abe97c

File tree

7 files changed

+23
-16
lines changed

7 files changed

+23
-16
lines changed

.devcontainer/devcontainer.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
22
{
33
"name": "F#",
4-
"image": "mcr.microsoft.com/dotnet/sdk:9.0.100",
4+
"image": "mcr.microsoft.com/dotnet/sdk:9.0.102",
55
"features": {
6-
"ghcr.io/devcontainers/features/common-utils:2.5.1": {},
6+
"ghcr.io/devcontainers/features/common-utils:2.5.2": {},
77
"ghcr.io/devcontainers/features/git:1.3.2": {},
88
"ghcr.io/devcontainers/features/github-cli:1.0.13": {},
9-
"ghcr.io/devcontainers/features/dotnet:2.1.3": {}
9+
"ghcr.io/devcontainers/features/dotnet:2.2.0": {}
1010
},
1111
"hostRequirements": {
1212
"cpus": 2,

docs/release-notes/.FSharp.Compiler.Service/9.0.300.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
* Added missing type constraints in FCS. ([PR #18241](https://github.com/dotnet/fsharp/pull/18241))
88

99
### Changed
10+
11+
* FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. ([PR #18205](https://github.com/dotnet/fsharp/pull/18205))
1012
* Update `Obsolete` attribute checking to account for `DiagnosticId` and `UrlFormat` properties. ([PR #18224](https://github.com/dotnet/fsharp/pull/18224))
1113

1214
### Breaking Changes

eng/Versions.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<FSharpLibrariesChangelogVersion>$(FSMajorVersion).$(FSMinorVersion).$(FSBuildVersion)</FSharpLibrariesChangelogVersion>
3838
<!-- -->
3939
<!-- The current published nuget package -->
40-
<FSharpCoreShippedPackageVersionValue>9.0.100</FSharpCoreShippedPackageVersionValue>
40+
<FSharpCoreShippedPackageVersionValue>9.0.101</FSharpCoreShippedPackageVersionValue>
4141
<!-- -->
4242
<!-- The pattern for specifying the preview package -->
4343
<FSharpCorePreviewPackageVersionValue>$(FSCorePackageVersionValue)-$(PreReleaseVersionLabel).*</FSharpCorePreviewPackageVersionValue>

src/Compiler/Service/BackgroundCompiler.fs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1066,7 +1066,7 @@ type internal BackgroundCompiler
10661066
tcProj.TcGlobals,
10671067
options.IsIncompleteTypeCheckEnvironment,
10681068
Some builder,
1069-
options,
1069+
Some options,
10701070
Array.ofList tcDependencyFiles,
10711071
creationDiags,
10721072
parseResults.Diagnostics,
@@ -1248,7 +1248,7 @@ type internal BackgroundCompiler
12481248
tcEnvAtEnd.AccessRights,
12491249
tcAssemblyExprOpt,
12501250
Array.ofList tcDependencyFiles,
1251-
options)
1251+
Some options)
12521252

12531253
let results =
12541254
FSharpCheckProjectResults(

src/Compiler/Service/FSharpCheckerResults.fs

+11-6
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ type internal TypeCheckInfo
348348
tcAccessRights: AccessorDomain,
349349
projectFileName: string,
350350
mainInputFileName: string,
351-
projectOptions: FSharpProjectOptions,
351+
projectOptions: FSharpProjectOptions option,
352352
sResolutions: TcResolutions,
353353
sSymbolUses: TcSymbolUses,
354354
sFallback: NameResolutionEnv,
@@ -3289,7 +3289,7 @@ module internal ParseAndCheckFile =
32893289
tcEnvAtEnd.AccessRights,
32903290
projectFileName,
32913291
mainInputFileName,
3292-
projectOptions,
3292+
Some projectOptions,
32933293
sink.GetResolutions(),
32943294
sink.GetSymbolUses(),
32953295
tcEnvAtEnd.NameEnv,
@@ -3302,9 +3302,14 @@ module internal ParseAndCheckFile =
33023302
}
33033303

33043304
[<Sealed>]
3305-
type FSharpProjectContext(thisCcu: CcuThunk, assemblies: FSharpAssembly list, ad: AccessorDomain, projectOptions: FSharpProjectOptions) =
3305+
type FSharpProjectContext
3306+
(thisCcu: CcuThunk, assemblies: FSharpAssembly list, ad: AccessorDomain, projectOptions: FSharpProjectOptions option) =
33063307

3307-
member _.ProjectOptions = projectOptions
3308+
// TODO: Once API around Transparent Compiler is stabilized we should probably remove this.
3309+
member _.ProjectOptions =
3310+
projectOptions
3311+
|> Option.defaultWith (fun () ->
3312+
failwith "ProjectOptions are not available. This is expected when using FSharpChecker with useTransparentCompiler=true.")
33083313

33093314
member _.GetReferencedAssemblies() = assemblies
33103315

@@ -3713,7 +3718,7 @@ type FSharpCheckProjectResults
37133718
AccessorDomain *
37143719
CheckedImplFile list option *
37153720
string[] *
3716-
FSharpProjectOptions) option
3721+
FSharpProjectOptions option) option
37173722
) =
37183723

37193724
let getDetails () =
@@ -4009,7 +4014,7 @@ type FsiInteractiveChecker(legacyReferenceResolver, tcConfig: TcConfig, tcGlobal
40094014
tcState.TcEnvFromImpls.AccessRights,
40104015
None,
40114016
dependencyFiles,
4012-
projectOptions)
4017+
Some projectOptions)
40134018

40144019
let projectResults =
40154020
FSharpCheckProjectResults(fileName, Some tcConfig, keepAssemblyContents, errors, Some details)

src/Compiler/Service/FSharpCheckerResults.fsi

+2-2
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ type public FSharpCheckFileResults =
454454
tcGlobals: TcGlobals *
455455
isIncompleteTypeCheckEnvironment: bool *
456456
builder: IncrementalBuilder option *
457-
projectOptions: FSharpProjectOptions *
457+
projectOptions: FSharpProjectOptions option *
458458
dependencyFiles: string[] *
459459
creationErrors: FSharpDiagnostic[] *
460460
parseErrors: FSharpDiagnostic[] *
@@ -554,7 +554,7 @@ type public FSharpCheckProjectResults =
554554
AccessorDomain *
555555
CheckedImplFile list option *
556556
string[] *
557-
FSharpProjectOptions) option ->
557+
FSharpProjectOptions option) option ->
558558
FSharpCheckProjectResults
559559

560560
module internal ParseAndCheckFile =

src/Compiler/Service/TransparentCompiler.fs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1696,7 +1696,7 @@ type internal TransparentCompiler
16961696
bootstrapInfo.TcGlobals,
16971697
projectSnapshot.IsIncompleteTypeCheckEnvironment,
16981698
None,
1699-
projectSnapshot.ToOptions(),
1699+
None,
17001700
Array.ofList tcInfo.tcDependencyFiles,
17011701
creationDiags,
17021702
parseResults.Diagnostics,
@@ -1963,7 +1963,7 @@ type internal TransparentCompiler
19631963
tcEnvAtEnd.AccessRights,
19641964
Some checkedImplFiles,
19651965
Array.ofList tcDependencyFiles,
1966-
projectSnapshot.ToOptions())
1966+
None)
19671967

19681968
let results =
19691969
FSharpCheckProjectResults(

0 commit comments

Comments
 (0)