Bug 16691 – New debug experience: hovering over a string function argument doesn't display the string

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
visuald
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2016-11-16T03:20:00Z
Last change time
2017-03-22T12:21:10Z
Keywords
pull
Assigned to
nobody
Creator
turkeyman

Comments

Comment #0 by turkeyman — 2016-11-16T03:20:15Z
string f(string s) { return s; } Put a breakpoint at "return s;", hover the mouse over 's', you'll see a pointer appear which you need to expand to see the string. It would be best if hovering over a string showed the string directly.
Comment #1 by r.sagitario — 2017-01-14T09:33:29Z
This happens because the string is passed by reference by the x64 ABI. If you build for the VS engine, it is encoded as "reference" and it works as expected. The pointer type is used for historic reasons when building for D engines. Unfortunately, switching to VS style uses the ugly '@' replacement for types.
Comment #2 by turkeyman — 2017-01-14T10:57:23Z
Is there a solution possible that isn't broken one way or another?
Comment #3 by r.sagitario — 2017-01-14T20:43:36Z
https://github.com/dlang/dmd/pull/6445 Support for references has to be added to mago, too.
Comment #4 by turkeyman — 2017-01-15T02:46:28Z
Nice.
Comment #5 by github-bugzilla — 2017-01-16T21:23:50Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/931dad8d353824b9cd9ffc3b0411a544887bff1b Fix issue 16691: make value parameters implicitely passed by pointer on Win64 r-value references https://github.com/dlang/dmd/commit/a5f823a59d11bb02a56384891eb80a55af467e00 Merge pull request #6445 from rainers/issue16691 Fix issue 16691: win64 debug info: pass struct value parameters by reference, not pointer
Comment #6 by github-bugzilla — 2017-01-16T23:26:37Z
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/931dad8d353824b9cd9ffc3b0411a544887bff1b Fix issue 16691: make value parameters implicitely passed by pointer on Win64 r-value references https://github.com/dlang/dmd/commit/a5f823a59d11bb02a56384891eb80a55af467e00 Merge pull request #6445 from rainers/issue16691
Comment #7 by github-bugzilla — 2017-03-22T12:21:10Z
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/931dad8d353824b9cd9ffc3b0411a544887bff1b Fix issue 16691: make value parameters implicitely passed by pointer on Win64 r-value references https://github.com/dlang/dmd/commit/a5f823a59d11bb02a56384891eb80a55af467e00 Merge pull request #6445 from rainers/issue16691