From 5358c2fdbb2f8f1ecdb6bf4e375b692da680d161 Mon Sep 17 00:00:00 2001 From: CoCo-Japan-pan <115922543+CoCo-Japan-pan@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:10:08 +0900 Subject: [PATCH] Add tests for `impl` restriction rendering --- .../impl/impl-restriction-document-private.rs | 15 +++++++++++++++ tests/rustdoc-html/impl/impl-restriction.rs | 14 ++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/rustdoc-html/impl/impl-restriction-document-private.rs create mode 100644 tests/rustdoc-html/impl/impl-restriction.rs diff --git a/tests/rustdoc-html/impl/impl-restriction-document-private.rs b/tests/rustdoc-html/impl/impl-restriction-document-private.rs new file mode 100644 index 000000000000..6ea55eff54cf --- /dev/null +++ b/tests/rustdoc-html/impl/impl-restriction-document-private.rs @@ -0,0 +1,15 @@ +//@ compile-flags: --document-private-items +#![crate_name = "c"] +#![feature(impl_restriction)] + +//@ matches c/trait.Foo.html '//*[@class="stab impl_restriction"]' \ +// 'This trait cannot be implemented outside c.$' +//@ has c/trait.Foo.html '//*[@class="stab impl_restriction"]//code' 'c' +pub impl(crate) trait Foo {} + +pub mod inner { + //@ matches c/inner/trait.Bar.html '//*[@class="stab impl_restriction"]' \ + // 'This trait cannot be implemented outside c::inner.$' + //@ has c/inner/trait.Bar.html '//*[@class="stab impl_restriction"]//code' 'c::inner' + pub impl(self) trait Bar {} +} diff --git a/tests/rustdoc-html/impl/impl-restriction.rs b/tests/rustdoc-html/impl/impl-restriction.rs new file mode 100644 index 000000000000..11df67425f9b --- /dev/null +++ b/tests/rustdoc-html/impl/impl-restriction.rs @@ -0,0 +1,14 @@ +#![crate_name = "c"] +#![feature(impl_restriction)] + +//@ matches c/trait.Foo.html '//*[@class="stab impl_restriction"]' \ +// 'This trait cannot be implemented outside c.$' +//@ has c/trait.Foo.html '//*[@class="stab impl_restriction"]//code' 'c' +pub impl(crate) trait Foo {} + +pub mod inner { + //@ matches c/inner/trait.Bar.html '//*[@class="stab impl_restriction"]' \ + // 'This trait cannot be implemented outside c.$' + //@ has c/inner/trait.Bar.html '//*[@class="stab impl_restriction"]//code' 'c' + pub impl(self) trait Bar {} +}