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

Bugfix : make sure nullness does not break XmlDoc info import for methods and types #17741

Conversation

T-Gro
Copy link
Member

@T-Gro T-Gro commented Sep 15, 2024

This fixes #17667 , which caused xml doc info to be missing in case of nullable parameters or return types, including in the BCL.
The mistake was caused by adding nullable information in the string-based encoding of a type.

The xml doc is navigated using stringified names, and nullness info is not part of it (is also not needed for picking overloads, so removing it is safe when it comes to possible duplicates)

@dotnet dotnet deleted a comment from github-actions bot Sep 15, 2024
@T-Gro T-Gro added this to the September-2024 milestone Sep 15, 2024
@T-Gro T-Gro self-assigned this Sep 15, 2024
Copy link
Contributor

❗ Release notes required


✅ Found changes and release notes in following paths:

Change path Release notes path Description
src/Compiler docs/release-notes/.FSharp.Compiler.Service/9.0.100.md

…ableenable-removes-detailed-api-descriptions-in-tooltips
…removes-detailed-api-descriptions-in-tooltips' of https://github.com/dotnet/fsharp into 17667-nullness-issue-tooling-turning-on-nullableenable-removes-detailed-api-descriptions-in-tooltips
@vzarytovskii vzarytovskii enabled auto-merge (squash) September 16, 2024 09:44
@vzarytovskii vzarytovskii merged commit 006f91e into main Sep 16, 2024
32 checks passed
@T-Gro
Copy link
Member Author

T-Gro commented Sep 30, 2024

/backport to release/dev17.12

Copy link
Contributor

Started backporting to release/dev17.12: https://github.com/dotnet/fsharp/actions/runs/11108100460

Copy link
Contributor

@T-Gro backporting to release/dev17.12 failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Remove nullness signal in string-based type encoding of a symbol (since it is used for xmldoc lookup)
.git/rebase-apply/patch:19: trailing whitespace.
  
.git/rebase-apply/patch:128: trailing whitespace.
    
.git/rebase-apply/patch:139: trailing whitespace.
    
.git/rebase-apply/patch:142: trailing whitespace.
    
.git/rebase-apply/patch:155: trailing whitespace.
            
warning: squelched 2 whitespace errors
warning: 7 lines add whitespace errors.
Using index info to reconstruct a base tree...
M	src/Compiler/TypedTree/TcGlobals.fs
M	src/Compiler/TypedTree/TcGlobals.fsi
M	src/Compiler/TypedTree/TypedTreeOps.fs
M	tests/FSharp.Compiler.Service.Tests/TooltipTests.fs
Falling back to patching base and 3-way merge...
Auto-merging src/Compiler/TypedTree/TypedTreeOps.fs
CONFLICT (content): Merge conflict in src/Compiler/TypedTree/TypedTreeOps.fs
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0001 Remove nullness signal in string-based type encoding of a symbol (since it is used for xmldoc lookup)
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

Copy link
Contributor

@T-Gro an error occurred while backporting to release/dev17.12, please check the run log for details!

Error: git am failed, most likely due to a merge conflict.

T-Gro added a commit to T-Gro/fsharp that referenced this pull request Oct 1, 2024
…hods and types (dotnet#17741)

* Remove nullness signal in string-based type encoding of a symbol (since it is used for xmldoc lookup)

* release notes

* Discard unused values
vzarytovskii added a commit that referenced this pull request Oct 7, 2024
* Update azure-pipelines.yml

* Refactor CE checking (#17464) (#17493)

Co-authored-by: Vlad Zarytovskii <[email protected]>
Co-authored-by: vzarytovskii <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update azure-pipelines.yml

* Localized file check-in by OneLocBuild Task: Build definition ID 499: Build ID 2524346 (#17610)

* Fixes #17447 -MethodAccessException on equality comparison of a record with private fields (#17467)

* Fix17447

* tests + readme

* fixes #17541 - Equals visibility for DU's (#17548)

* update version number

* Switch to new VMR control set (#17703) (port from main) (#17788)

* Now that fsharp is on 9.0, we can switch to the new control set. Generally:
- DotNetBuildFromSource -> DotNetBuildSourceOnly - Building a source-only build.
- DotnetBuildFromSourceFlavor == Product -> DotNetBuildOrchestrator == true - Building in the VMR, could be source-only or MS's build.
- ArcadeBuildFromSource -> DotNetBuildRepo == true -> Indicates an outer repo build.
- ExcludeFromSourceBuild -> ExcludeFromSourceOnlyBuild

* Split out source build args

* Split out source build args

* Remove unnecessary source build env var set

* Add properties to the bootstrap compiler build

* BuildRepo -> BuildInnerRepo

* Only build proto repo in inner build

* Additional VMR properties for completeness

* Rename sourcebuild.props -> dotnetbuild.props

---------

Co-authored-by: Petr <[email protected]>

* respect generic arity in method uniqueness

* [17.12] Turn off realsig when building product and proto (#17808)

* Bugfix : make sure nullness does not break XmlDoc info import for methods and types (#17741)

* Remove nullness signal in string-based type encoding of a symbol (since it is used for xmldoc lookup)

* release notes

* Discard unused values

* Rendering AllowsRefStruct for type parameters (#17706)

* Update azure-pipelines.yml

---------

Co-authored-by: Vlad Zarytovskii <[email protected]>
Co-authored-by: Petr <[email protected]>
Co-authored-by: Tomas Grosup <[email protected]>
Co-authored-by: Kevin Ransom (msft) <[email protected]>
Co-authored-by: vzarytovskii <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Ransom <[email protected]>
Co-authored-by: Matt Mitchell <[email protected]>
@T-Gro T-Gro deleted the 17667-nullness-issue-tooling-turning-on-nullableenable-removes-detailed-api-descriptions-in-tooltips branch November 11, 2024 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Nullness issue - tooling - turning on <Nullable>enable</> removes detailed API descriptions in tooltips
3 participants