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 definitions and tests for SmallVec type #286

merged 1 commit into from
Sep 12, 2022


Copy link

This change adds Natvis visualizations for SmallVec 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 SmallVec with and without the union feature.
  • Tests for testing visualizers embedded in the smallvec crate.
  • Updates to the CI pipeline to ensure tests for visualizers are run so they do not break silently.
  • Add testing against Windows using the nightly toolchain
  • A new debugger_visualizer feature for the smallvec crate to enable the unstable debugger_visualizer Rust feature.

…he `union` crate feature enabled.

Unify Natvis definitions into a single Natvis file.
Copy link

@mbrubeck mbrubeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

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

Successfully merging this pull request may close these issues.

None yet

2 participants