From 20c0f26b003686786e3c4ce3c7044d24348efa84 Mon Sep 17 00:00:00 2001 From: Michal Fox Date: Tue, 29 Sep 2026 12:01:33 +0200 Subject: [PATCH] rustdoc: don't highlight empty elements when they are the URL target An empty anchor like `` used as a jump target in docs got the target border, which shows up as a stray orange bar. --- src/librustdoc/html/static/css/rustdoc.css | 2 +- tests/rustdoc-gui/src/lib2/lib.rs | 1 + tests/rustdoc-gui/target.goml | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index 6e7a6da..4fc4932 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -1952,7 +1952,7 @@ instead, we check that it's not a "finger" cursor. } } -:target:not([data-nosnippet]) { +:target:not([data-nosnippet]):not(:empty) { background-color: var(--target-background-color); border-right: 3px solid var(--target-border-color); } diff --git a/tests/rustdoc-gui/src/lib2/lib.rs b/tests/rustdoc-gui/src/lib2/lib.rs index 28dfa56..cf2f455 100644 --- a/tests/rustdoc-gui/src/lib2/lib.rs +++ b/tests/rustdoc-gui/src/lib2/lib.rs @@ -27,6 +27,7 @@ pub struct Foo { impl Foo { /// Some documentation + /// /// # A Heading pub fn a_method(&self) {} diff --git a/tests/rustdoc-gui/target.goml b/tests/rustdoc-gui/target.goml index 92846f8..965d8ec 100644 --- a/tests/rustdoc-gui/target.goml +++ b/tests/rustdoc-gui/target.goml @@ -33,3 +33,8 @@ call-function: ("check-style", { "background": "#fdffd3", "border": "#ad7c37", }) + +// An empty anchor must not get the target border. +go-to: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html#empty-anchor" +assert: "#empty-anchor:target" +assert-css: ("#empty-anchor", {"border-right-width": "0px"})