Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/release-notes/.FSharp.Compiler.Service/11.0.100.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@
* IL: cache C# extension methods per CCU ([PR #20256](https://github.com/dotnet/fsharp/pull/20256))
* Nullness warning FS3261 on dotted method or property access (e.g. `x.Member`) now underlines the receiver expression and includes the member name and (when known) the binding name in the message. ([Issue #19658](https://github.com/dotnet/fsharp/issues/19658), [PR #19814](https://github.com/dotnet/fsharp/pull/19814))
* Import: share assembly CCUs between projects ([PR #20296](https://github.com/dotnet/fsharp/pull/20296))
* Import: share a referenced project's CCU instead of pickling it ([PR #20416](https://github.com/dotnet/fsharp/pull/20416))
* IL: share the pickled references ([PR #20301](https://github.com/dotnet/fsharp/pull/20301))
* Direct delegate construction ([PR ##19993](https://github.com/dotnet/fsharp/pull/19993))
* IL: add `ILPreNamespace`, make `ILPreTypeDef` creation lazy ([PR #20092](https://github.com/dotnet/fsharp/pull/20092))
Expand Down
11 changes: 4 additions & 7 deletions src/Compiler/Driver/CompilerConfig.fs
Original file line number Diff line number Diff line change
Expand Up @@ -446,11 +446,7 @@ type TypeCheckingConfig =
}

[<RequireQualifiedAccess>]
type ImportReuseKey =
{
LangVersion: decimal
CheckNullness: bool
}
type ImportReuseKey = { ImportsNullness: bool }

[<NoEquality; NoComparison>]
type TcConfigBuilder =
Expand Down Expand Up @@ -1413,8 +1409,9 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =

member _.importReuseKey =
{
ImportReuseKey.LangVersion = data.langVersion.SpecifiedVersion
ImportReuseKey.CheckNullness = data.checkNullness
ImportReuseKey.ImportsNullness =
data.checkNullness
&& data.langVersion.SupportsFeature LanguageFeature.NullnessChecking
}

member _.dumpSignatureData = data.dumpSignatureData
Expand Down
7 changes: 3 additions & 4 deletions src/Compiler/Driver/CompilerConfig.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,10 @@ type TypeCheckingConfig =
DumpGraph: bool
}

/// A field belongs here when two projects differing in it cannot reuse one imported form
/// What two projects must agree on before one can reuse the other's imports. Importing consults the
/// settings in one place only, whether nullable-reference attributes are read into the TAST.
[<RequireQualifiedAccess>]
type ImportReuseKey =
{ LangVersion: decimal
CheckNullness: bool }
type ImportReuseKey = { ImportsNullness: bool }

[<NoEquality; NoComparison>]
type TcConfigBuilder =
Expand Down
Loading
Loading