rustdoc: add testcase for traitParent deduplication

This commit is contained in:
binarycat 2025-09-21 16:42:12 -05:00
parent a145dfff03
commit d0dc603c39
2 changed files with 38 additions and 0 deletions

View file

@ -9,4 +9,24 @@ const EXPECTED = [
{ 'path': 'trait_methods::MyTrait', 'name': 'next' },
],
},
// the traitParent deduplication pass should remove
// Empty::next, as it would be redundant
{
'query': 'next',
'correction': null,
'in_args': [],
'others': [
{ 'path': 'trait_methods::MyTrait', 'name': 'next' },
],
},
// if the trait does not match, no deduplication happens
{
'query': '-> option<()>',
'correction': null,
'in_args': [],
'others': [
{ 'path': 'trait_methods::Empty', 'name': 'next' },
{ 'path': 'trait_methods::Void', 'name': 'next' },
],
},
];

View file

@ -2,3 +2,21 @@ pub trait MyTrait {
type Item;
fn next(&mut self) -> Option<Self::Item>;
}
pub struct Empty;
impl MyTrait for Empty {
type Item = ();
fn next(&mut self) -> Option<()> {
None
}
}
pub struct Void;
impl MyTrait for Void {
type Item = ();
fn next(&mut self) -> Option<()> {
Some(())
}
}