Add Natvis visualizations for core indexmap
types
#239
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds Natvis visualizations for some
indexmap
types to help improve the debugging experience on Windows.Natvis is a framework that can be used to specify how types should be viewed under a supported debugger, such as the Windows debugger (WinDbg) and the Visual Studio debugger.
When debugging types such as
IndexMap
and/orIndexSet
under a Windows debugger, the entries for these data structures are not always clear upon first glance. The internal data structure is shown and it's not presented in a user friendly way. The Rust compiler does have Natvis support for some types, but this is limited to some of the core libraries and not supported for external crates.rust-lang/rfcs#3191 proposes adding support for embedding debugging visualizations such as Natvis in a Rust crate. This RFC has been approved, merged and implemented.
This PR adds:
Natvis visualizations for some of the core types such as
IndexMap
andIndexSet
.Tests for testing visualizers embedded in the
indexmap
crate.Updates to the CI pipeline to ensure tests for visualizers are run so they do not break silently.
A new
debugger_visualizer
feature for theindexmap
crate to enable the unstabledebugger_visualizer
Rust feature.