Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings #15243

Merged
merged 5 commits into from
May 29, 2023

Conversation

dawedawe
Copy link
Contributor

@dawedawe dawedawe commented May 21, 2023

This is an attempt to help with #14653 and by that unblocking #13298

Edit:
Currently, it's difficult to show the effect of this PR in a test as it works on very internal things.
But if you debug the following test:

module FSharp.Compiler.ComponentTests.Miscellaneous.FindUnsolvedTests

open Xunit
open FSharp.Test.Compiler

[<Fact>]
let ``fallbackRange being set in FindUnsolved`` () =    
    FSharp
        """let f<'b> () : 'b = (let a = failwith "" in unbox a)"""
    |> typecheckResults
    |> ignore

and set a breakpoint on

| Some r when tp.Range = Range.range0 -> tp.SetIdent (FSharp.Compiler.Syntax.Ident(tp.typar_id.idText, r))

you can see the effect.
As already mentioned, this tries to unblock #13298 and makes most sense in combination with that.

@dawedawe dawedawe marked this pull request as ready for review May 23, 2023 14:24
@dawedawe dawedawe requested a review from a team as a code owner May 23, 2023 14:24
@T-Gro
Copy link
Member

T-Gro commented May 29, 2023

#13298 is definitely desired, I am for putting this in (even though this particular PR does not have any benefit on its own at the moment)

@psfinaki psfinaki merged commit bcde707 into dotnet:main May 29, 2023
@dawedawe dawedawe deleted the fix_14653 branch May 29, 2023 12:38
vzarytovskii added a commit that referenced this pull request May 31, 2023
* LexFilter: cleanup whitespaces (#15250)

* Parser: rewrite tuple expr recovery to allow better items recovery (#15227)

* Checker: recover on unknown record fields (#15214)

* Make anycpu work correctly on Arm64 (#15234)

* Makeanuycpu work correctly on arm64

* Update Microsoft.FSharp.Targets

* Fix15254 (#15257)

* Deploy only compressed metadata for dotnet sdk implementation (#15230)

* compress fsharp for sdk

* Update FSharp.DependencyManager.Nuget.fsproj

* Parser: more binary expressions recovery (#15255)

* Use background CancellableTask in VS instead of async & asyncMaybe (#15187)

* wip

* iteration

* iteration: quickinfo, help context

* fantomas

* todo

* moved tasks to editor project, fixed comment colouring bug

* fantomas

* Fantomas + PR feedback

* Update vsintegration/src/FSharp.Editor/Hints/HintService.fs

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Revert "Update vsintegration/src/FSharp.Editor/Hints/HintService.fs"

This reverts commit bf51b31.

---------

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Name resolution: actually add reported item when trying to replace (#14772)

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Move flatErrors tests from fsharpqa (#15251)

* temp

* tests

* flaterrors

* update tests

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings (#15243)

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings

* use fallback range only for range0

* pattern match instead of Option.isSome

* Add test

* Revert "Add test"

This reverts commit e05e808.

* Make `FSharpReferencedProject` representation public (#15266)

* Make FSharpReferencedProject representation public

* Update surface area

* Fantomas

* Fantomas

---------

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Fix navigation for external enums, DUs and name resultion for members (#15270)

* Update FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl

* Add warning when compiler selects among multiple record type candidates, fslang-suggestion 1091 (#15256)

* Protect assembly exploration for C# extension members (#15271)

* Compute ValInline.Never for externs (#15274)

* Compute ValInline.Never for externs

---------

Co-authored-by: Eugene Auduchinok <eugene.auduchinok@jetbrains.com>
Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
Co-authored-by: Andrii Chebukin <xperiandri@live.ru>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: dawe <dawedawe@posteo.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants