rust/tests/rustdoc/deref/deref-multiple-impl-blocks.rs
Michael Howell 2299ba1ca2 rustdoc: fix weird margins between Deref impl items
In the old setup, if the dereffed-to item has multiple impl blocks,
each one gets its own `div.impl-items` in the section, but there
are no headers separating them. Since the last method in a
`div.impl-items` has no bottom margin, and there are no margins
between these divs, there is no margin between the last method
of one impl and the first method of the following impl.

This patch fixes it by simplifying the HTML. Each Deref block gets
exactly one `div.impl-items`, no matter how many impl blocks it
actually has.
2023-04-28 13:16:10 -07:00

44 lines
770 B
Rust

#![crate_name="foo"]
use std::ops::{Deref, DerefMut};
// @has foo/struct.Vec.html
// @count - '//h2[@id="deref-methods-Slice"]' 1
// @count - '//div[@id="deref-methods-Slice-1"]' 1
// @count - '//div[@id="deref-methods-Slice-1"][@class="impl-items"]' 1
// @count - '//div[@id="deref-methods-Slice-1"]/div[@class="impl-items"]' 0
pub struct Vec;
pub struct Slice;
impl Deref for Vec {
type Target = Slice;
fn deref(&self) -> &Slice {
&Slice
}
}
impl DerefMut for Vec {
fn deref_mut(&mut self) -> &mut Slice {
&mut Slice
}
}
impl Slice {
pub fn sort_floats(&mut self) {
todo!();
}
}
impl Slice {
pub fn sort(&mut self) {
todo!();
}
}
impl Slice {
pub fn len(&self) {
todo!();
}
}