about summary refs log tree commit diff
path: root/tests/coverage/rustfmt-skip.rs
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2025-08-17 13:41:33 +1000
committerZalathar <Zalathar@users.noreply.github.com>2025-08-24 20:29:34 +1000
commitbd8e3db94d6547829cdfd60c9dfdb6bdcdd262c3 (patch)
tree8aae38d5aa62215ea27c934633419f5ef53ff5c5 /tests/coverage/rustfmt-skip.rs
parent4eedad312695d773b6e2e17a4f8082660470c101 (diff)
downloadrust-bd8e3db94d6547829cdfd60c9dfdb6bdcdd262c3.tar.gz
rust-bd8e3db94d6547829cdfd60c9dfdb6bdcdd262c3.zip
coverage: Add a specific test for `#[rustfmt::skip]`
Diffstat (limited to 'tests/coverage/rustfmt-skip.rs')
-rw-r--r--tests/coverage/rustfmt-skip.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/coverage/rustfmt-skip.rs b/tests/coverage/rustfmt-skip.rs
new file mode 100644
index 00000000000..6f6874c9aa0
--- /dev/null
+++ b/tests/coverage/rustfmt-skip.rs
@@ -0,0 +1,17 @@
+//@ edition: 2024
+
+// The presence of `#[rustfmt::skip]` on a function should not cause macros
+// within that function to mysteriously not be instrumented.
+//
+// This test detects problems that can occur when building an expansion tree
+// based on `ExpnData::parent` instead of `ExpnData::call_site`, for example.
+
+#[rustfmt::skip]
+fn main() {
+    // Ensure a gap between the body start and the first statement.
+    println!(
+        // Keep this on a separate line, to distinguish instrumentation of
+        // `println!` from instrumentation of its arguments.
+        "hello"
+    );
+}