You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/fsharp/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@
19
19
* Fix `YieldFromFinal`/`ReturnFromFinal` being incorrectly called in non-tail positions (`for`, `use`, `use!`, `try/with` handler). ([Issue #19402](https://github.com/dotnet/fsharp/issues/19402), [PR #19403](https://github.com/dotnet/fsharp/pull/19403))
20
20
* Fixed how the source ranges of warn directives are reported (as trivia) in the parser output (by not reporting leading spaces). ([Issue #19405](https://github.com/dotnet/fsharp/issues/19405), [PR #19408]((https://github.com/dotnet/fsharp/pull/19408)))
21
21
* Fix UoM value type `ToString()` returning garbage values when `--checknulls+` is enabled, caused by double address-taking in codegen. ([Issue #19435](https://github.com/dotnet/fsharp/issues/19435), [PR #19440](https://github.com/dotnet/fsharp/pull/19440))
22
+
* Fix accessibility and type-matching for extension method lookups. ([Issue #19349](https://github.com/dotnet/fsharp/issues/19349), [PR #19536](https://github.com/dotnet/fsharp/pull/19536))
22
23
* Fix completion inconsistently showing some obsolete members (fields and events) while hiding others (methods and properties). All obsolete members are now consistently hidden by default. ([Issue #13512](https://github.com/dotnet/fsharp/issues/13512), [PR #19506](https://github.com/dotnet/fsharp/pull/19506))
23
24
* Fix O(n) `TypeStructure.GetHashCode` performance regression causing sustained high CPU in IDE mode with generative type providers. ([Issue #18925](https://github.com/dotnet/fsharp/issues/18925), [PR #19369](https://github.com/dotnet/fsharp/pull/19369))
24
25
* Fix TypeLoadException when creating delegate with voidptr parameter. (Issue [#11132](https://github.com/dotnet/fsharp/issues/11132), [PR #19338](https://github.com/dotnet/fsharp/pull/19338))
@@ -35,6 +36,8 @@
35
36
* Fix signature generation: `private` keyword placement for prefix-style type abbreviations. ([Issue #15560](https://github.com/dotnet/fsharp/issues/15560), [PR #19586](https://github.com/dotnet/fsharp/pull/19586))
36
37
* Fix signature generation: missing `[<Class>]` attribute for types without visible constructors. ([Issue #16531](https://github.com/dotnet/fsharp/issues/16531), [PR #19586](https://github.com/dotnet/fsharp/pull/19586))
37
38
* Fix methods being tagged as `Member` instead of `Method` in tooltips. ([Issue #10540](https://github.com/dotnet/fsharp/issues/10540), [PR #19507](https://github.com/dotnet/fsharp/pull/19507))
39
+
* Fix Debug-mode compilation when mixing resumable and standard computation expressions. ([Issue #19625](https://github.com/dotnet/fsharp/issues/19625), [PR #19630](https://github.com/dotnet/fsharp/pull/19630))
Copy file name to clipboardExpand all lines: src/fsharp/src/Compiler/Checking/NameResolution.fs
+42-8Lines changed: 42 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -727,8 +727,11 @@ let SelectMethInfosFromExtMembers (infoReader: InfoReader) optFilter apparentTy
727
727
]
728
728
729
729
/// Query the available extension methods of a type (including extension methods for inherited types)
730
-
letExtensionMethInfosOfTypeInScope(collectionSettings:ResultCollectionSettings)(infoReader:InfoReader)(nenv:NameResolutionEnv)optFilter isInstanceFilter m ty =
731
-
letextMemsDangling= SelectMethInfosFromExtMembers infoReader optFilter ty m nenv.eUnindexedExtensionMembers
730
+
letExtensionMethInfosOfTypeInScope(collectionSettings:ResultCollectionSettings)(infoReader:InfoReader)(nenv:NameResolutionEnv)ad optFilter isInstanceFilter m ty =
731
+
letamap= infoReader.amap
732
+
733
+
letextMemsDangling= SelectMethInfosFromExtMembers infoReader optFilter ty m nenv.eUnindexedExtensionMembers
734
+
732
735
if collectionSettings = ResultCollectionSettings.AtMostOneResult &¬(isNil extMemsDangling)then
733
736
extMemsDangling
734
737
else
@@ -743,6 +746,9 @@ let ExtensionMethInfosOfTypeInScope (collectionSettings: ResultCollectionSetting
743
746
|_->[])
744
747
extMemsDangling @ extMemsFromHierarchy
745
748
|> List.filter (fun minfo ->
749
+
letisAccesible= IsMethInfoAccessible amap m ad minfo
750
+
751
+
isAccesible &&
746
752
match isInstanceFilter with
747
753
| LookupIsInstance.Ambivalent ->true
748
754
| LookupIsInstance.Yes -> minfo.IsInstance
@@ -754,7 +760,35 @@ let AllMethInfosOfTypeInScope collectionSettings infoReader nenv optFilter ad fi
754
760
if collectionSettings = ResultCollectionSettings.AtMostOneResult &¬(isNil intrinsic)then
755
761
intrinsic
756
762
else
757
-
intrinsic @ ExtensionMethInfosOfTypeInScope collectionSettings infoReader nenv optFilter LookupIsInstance.Ambivalent m ty
763
+
intrinsic @ ExtensionMethInfosOfTypeInScope collectionSettings infoReader nenv ad optFilter LookupIsInstance.Ambivalent m ty
0 commit comments