From b2e10a40973073dc20645204c87ddf9bb9dc2c4c Mon Sep 17 00:00:00 2001 From: Predrag Gruevski <2348618+obi1kenobi@users.noreply.github.com> Date: Mon, 19 Aug 2024 00:24:03 -0400 Subject: [PATCH] Add tests for private trait bounds. (#379) --- src/adapter/tests.rs | 8 ++++++++ test_crates/sealed_traits/src/lib.rs | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/adapter/tests.rs b/src/adapter/tests.rs index 0633cb3c..42b51752 100644 --- a/src/adapter/tests.rs +++ b/src/adapter/tests.rs @@ -237,6 +237,14 @@ fn rustdoc_sealed_traits() { name: "SealedTraitWithStdSupertrait".into(), sealed: true, }, + Output { + name: "PrivateSealed".into(), + sealed: true, + }, + Output { + name: "SealedWithPrivateSupertrait".into(), + sealed: true, + }, Output { name: "Unsealed".into(), sealed: false, diff --git a/test_crates/sealed_traits/src/lib.rs b/test_crates/sealed_traits/src/lib.rs index 8c1c26a4..327536d7 100644 --- a/test_crates/sealed_traits/src/lib.rs +++ b/test_crates/sealed_traits/src/lib.rs @@ -15,6 +15,12 @@ pub trait TransitivelyTraitSealed: DirectlyTraitSealed {} /// This trait is sealed, and happens to have more than one supertrait. pub trait SealedTraitWithStdSupertrait: AsRef<()> + private::Sealed {} +trait PrivateSealed {} + +/// This trait is sealed with a supertrait that is private, not pub-in-priv. +#[allow(private_bounds)] +pub trait SealedWithPrivateSupertrait: PrivateSealed {} + pub trait Unsealed {} /// This trait is sealed because its argument type is pub-in-priv,