dotnet / dotnet/fsharp

Consider emitting LocalConstants in Portable debug info

Open
#12,003 0 comments 0 reactions 0 assignees View on GitHub
Area-Debug Feature Improvement
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

Our Portable PDB writer doesn't emit "Local Constants" (aka "compile time values")

This information is evidently emitted by C# in some circumstances, it's not clear to me where (it's not for .NET literals, which have their own metadata). See https://github.com/dotnet/roslyn/blob/3d8acbd585a75e9cdb3509623bf6c39ceb46b2c2/src/Compilers/Core/Portable/PEWriter/MetadataWriter.PortablePdb.cs#L125

Portable PDB spec is here: https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md

It may be useful for F# to emit this information in some situation once we clarify what debugging experience it supports.

* [ ] clarify user-facing debug experience this supports
* [ ] decide if it's useful for F#
* [ ] add code to emit this if it's useful

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.