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

STL.natvis: Consider dropping VC 2013 visualizers #2786

Closed
StephanTLavavej opened this issue Jun 13, 2022 · 1 comment · Fixed by #2804
Closed

STL.natvis: Consider dropping VC 2013 visualizers #2786

StephanTLavavej opened this issue Jun 13, 2022 · 1 comment · Fixed by #2804
Labels
fixed Something works now, yay! visualizer How the VS debugger displays STL types

Comments

@StephanTLavavej
Copy link
Member

STL.natvis has the ability to visualize multiple representations, which is why we have both VC 2013 and VC 2015 (binary compatible) visualizers:

STL/stl/debugger/STL.natvis

Lines 319 to 320 in 9947dd9

<!-- VC 2013 -->
<Type Name="std::unique_ptr&lt;*&gt;" Priority="MediumLow">

STL/stl/debugger/STL.natvis

Lines 329 to 330 in 9947dd9

<!-- VC 2015 -->
<Type Name="std::unique_ptr&lt;void, *&gt;">

We never wanted to accumulate such visualizers endlessly (since it's more work to maintain/validate, and inherently affects visualizer performance - because the IDE will load both, and see whether any emit errors, which can be further controlled with "priority"), so we informally followed either an "N - 1" or "N - 2" major version policy back when we frequently broke ABI. (N - 1 would be supporting the current and previous major version, for example.)

Then we forgot about this for a while. Nowadays, all of VC 2015, VC 2017, VC 2019, and VC 2022 are compatible, and while the IDE still can be used to debug VC 2013 binaries, this is increasingly unlikely every year (also, the IDE doesn't offer the VC 2013 toolset side-by-side). I think it's time to purge the visualizers for VC 2013. Fortunately, I think we were consistent about commenting them.

(We have a few visualizers for versions past VC 2015 where we were able to change representations in a compatible manner; for now, I think we should preserve everything marked VC 2015.)

@StephanTLavavej StephanTLavavej added decision needed We need to choose something before working on this visualizer How the VS debugger displays STL types and removed decision needed We need to choose something before working on this labels Jun 13, 2022
@StephanTLavavej
Copy link
Member Author

We talked about this at the weekly maintainer meeting and the consensus was to drop the VC 2013 visualizers.

@StephanTLavavej StephanTLavavej added the fixed Something works now, yay! label Jun 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed Something works now, yay! visualizer How the VS debugger displays STL types
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant