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

Add Natvis visualizations and tests for ArrayVec and SliceVec types. #167

Merged
merged 3 commits into from Sep 7, 2022

Conversation

ridwanabdillahi
Copy link
Contributor

This change adds Natvis visualizations for ArrayVec and SliceVec 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.

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 both ArrayVec and SliceVec.
Tests for testing visualizers embedded in the tinyvec 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 the arrayvec crate to enable the unstable debugger_visualizer Rust feature.

@MaulingMonkey
Copy link
Contributor

Is debug_metadata/ a common/typical folder for this? I'm curious if I should update natvis-pdbs to search this folder, for people currently stuck on stable. (Currently, it only searches crate/* and crate/src/*.)

@ridwanabdillahi
Copy link
Contributor Author

@MaulingMonkey

Is debug_metadata/ a common/typical folder for this?

I've received feedback that this structure was preferable than having the .natvis files directly in the src tree. As such, for all of the PR's I've pushed out I've used this directory structure.

@MaulingMonkey
Copy link
Contributor

natvis-pdbs = "1.0.3"

Now supports debug_metadata/, probably 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants