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

Checker: recover on unknown record fields #15214

Merged
merged 13 commits into from
May 23, 2023
Merged

Conversation

auduchinok
Copy link
Member

@auduchinok auduchinok commented May 11, 2023

type R1 =
    { F1: int
      F2: int }

{ F = 1
  F2 = 1 }

Before, no analysis of subsequent fields:

Screenshot 2023-05-11 at 15 08 47

After, unknown fields are skipped, an additional error is reported (enabling the IDE quick fix):

Screenshot 2023-05-11 at 15 08 40

Or even like this:

Screenshot 2023-05-11 at 16 22 07

@auduchinok auduchinok requested a review from a team as a code owner May 11, 2023 14:23
@auduchinok auduchinok force-pushed the tc-record branch 2 times, most recently from 66b4b0c to 1e3a5bb Compare May 17, 2023 19:42
@auduchinok
Copy link
Member Author

This is ready.

@vzarytovskii vzarytovskii merged commit 2ef33c4 into dotnet:main May 23, 2023
@auduchinok auduchinok deleted the tc-record branch May 23, 2023 14:27
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.

3 participants