From 175a4eab84379cebfc230ea357ae02dc9be39660 Mon Sep 17 00:00:00 2001 From: ridwanabdillahi <91507758+ridwanabdillahi@users.noreply.github.com> Date: Mon, 25 Apr 2022 18:02:43 -0700 Subject: Add support for a new attribute `#[debugger_visualizer]` to support embedding debugger visualizers into a generated PDB. Cleanup `DebuggerVisualizerFile` type and other minor cleanup of queries. Merge the queries for debugger visualizers into a single query. Revert move of `resolve_path` to `rustc_builtin_macros`. Update dependencies in Cargo.toml for `rustc_passes`. Respond to PR comments. Load visualizer files into opaque bytes `Vec`. Debugger visualizers for dynamically linked crates should not be embedded in the current crate. Update the unstable book with the new feature. Add the tracking issue for the debugger_visualizer feature. Respond to PR comments and minor cleanups. --- .../ui/feature-gates/feature-gate-debugger-visualizer.rs | 3 +++ .../ui/feature-gates/feature-gate-debugger-visualizer.stderr | 12 ++++++++++++ src/test/ui/invalid/invalid-debugger-visualizer-option.rs | 4 ++++ .../ui/invalid/invalid-debugger-visualizer-option.stderr | 10 ++++++++++ src/test/ui/invalid/invalid-debugger-visualizer-target.rs | 5 +++++ .../ui/invalid/invalid-debugger-visualizer-target.stderr | 8 ++++++++ 6 files changed, 42 insertions(+) create mode 100644 src/test/ui/feature-gates/feature-gate-debugger-visualizer.rs create mode 100644 src/test/ui/feature-gates/feature-gate-debugger-visualizer.stderr create mode 100644 src/test/ui/invalid/invalid-debugger-visualizer-option.rs create mode 100644 src/test/ui/invalid/invalid-debugger-visualizer-option.stderr create mode 100644 src/test/ui/invalid/invalid-debugger-visualizer-target.rs create mode 100644 src/test/ui/invalid/invalid-debugger-visualizer-target.stderr (limited to 'src/test/ui') diff --git a/src/test/ui/feature-gates/feature-gate-debugger-visualizer.rs b/src/test/ui/feature-gates/feature-gate-debugger-visualizer.rs new file mode 100644 index 00000000000..3f9eb27a0d6 --- /dev/null +++ b/src/test/ui/feature-gates/feature-gate-debugger-visualizer.rs @@ -0,0 +1,3 @@ +#![debugger_visualizer(natvis_file = "../foo.natvis")] //~ ERROR the `#[debugger_visualizer]` attribute is an experimental feature + +fn main() {} diff --git a/src/test/ui/feature-gates/feature-gate-debugger-visualizer.stderr b/src/test/ui/feature-gates/feature-gate-debugger-visualizer.stderr new file mode 100644 index 00000000000..721b2b185da --- /dev/null +++ b/src/test/ui/feature-gates/feature-gate-debugger-visualizer.stderr @@ -0,0 +1,12 @@ +error[E0658]: the `#[debugger_visualizer]` attribute is an experimental feature + --> $DIR/feature-gate-debugger-visualizer.rs:1:1 + | +LL | #![debugger_visualizer(natvis_file = "../foo.natvis")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: see issue #95939 for more information + = help: add `#![feature(debugger_visualizer)]` to the crate attributes to enable + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/invalid/invalid-debugger-visualizer-option.rs b/src/test/ui/invalid/invalid-debugger-visualizer-option.rs new file mode 100644 index 00000000000..5332298f0ef --- /dev/null +++ b/src/test/ui/invalid/invalid-debugger-visualizer-option.rs @@ -0,0 +1,4 @@ +#![feature(debugger_visualizer)] +#![debugger_visualizer(random_file = "../foo.random")] //~ ERROR invalid argument + +fn main() {} diff --git a/src/test/ui/invalid/invalid-debugger-visualizer-option.stderr b/src/test/ui/invalid/invalid-debugger-visualizer-option.stderr new file mode 100644 index 00000000000..24ad9361fe3 --- /dev/null +++ b/src/test/ui/invalid/invalid-debugger-visualizer-option.stderr @@ -0,0 +1,10 @@ +error: invalid argument + --> $DIR/invalid-debugger-visualizer-option.rs:2:1 + | +LL | #![debugger_visualizer(random_file = "../foo.random")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: expected: `natvis_file = "..."` + +error: aborting due to previous error + diff --git a/src/test/ui/invalid/invalid-debugger-visualizer-target.rs b/src/test/ui/invalid/invalid-debugger-visualizer-target.rs new file mode 100644 index 00000000000..7668d092e61 --- /dev/null +++ b/src/test/ui/invalid/invalid-debugger-visualizer-target.rs @@ -0,0 +1,5 @@ +#![feature(debugger_visualizer)] + +#[debugger_visualizer(natvis_file = "../foo.natvis")] //~ ERROR attribute should be applied to a module + +fn main() {} diff --git a/src/test/ui/invalid/invalid-debugger-visualizer-target.stderr b/src/test/ui/invalid/invalid-debugger-visualizer-target.stderr new file mode 100644 index 00000000000..3555bbb169b --- /dev/null +++ b/src/test/ui/invalid/invalid-debugger-visualizer-target.stderr @@ -0,0 +1,8 @@ +error: attribute should be applied to a module + --> $DIR/invalid-debugger-visualizer-target.rs:3:1 + | +LL | #[debugger_visualizer(natvis_file = "../foo.natvis")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + -- cgit 1.4.1-3-g733a5