Rollup merge of #118677 - GuillaumeGomez:doc_cfg-display, r=notriddle
[rustdoc] Fix display of features Fixes https://github.com/rust-lang/rust/issues/118615. It now looks like this: ![image](https://github.com/rust-lang/rust/assets/3050060/6e77204e-0706-44a3-89ae-2dbd1934ebbc) We can't use flex without breaking the flow, meaning we can't vertically align items as we want. Because of that, the `min-height` was problematic as it rendered weirdly and therefore needed to be removed. r? `@notriddle`
This commit is contained in:
commit
fa724ccc6d
@ -1081,15 +1081,9 @@ so that we can apply CSS-filters to change the arrow color in themes */
|
||||
}
|
||||
|
||||
.item-info .stab {
|
||||
/* This min-height is needed to unify the height of the stab elements because some of them
|
||||
have emojis.
|
||||
*/
|
||||
min-height: 36px;
|
||||
display: flex;
|
||||
display: block;
|
||||
padding: 3px;
|
||||
margin-bottom: 5px;
|
||||
align-items: center;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
.item-name .stab {
|
||||
margin-left: 0.3125em;
|
||||
@ -1112,17 +1106,26 @@ so that we can apply CSS-filters to change the arrow color in themes */
|
||||
color: var(--stab-code-color);
|
||||
}
|
||||
|
||||
.stab .emoji {
|
||||
.stab .emoji, .item-info .stab::before {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.stab .emoji {
|
||||
margin-right: 0.3rem;
|
||||
}
|
||||
.item-info .stab::before {
|
||||
/* ensure badges with emoji and without it have same height */
|
||||
content: "\0";
|
||||
width: 0;
|
||||
display: inline-block;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
/* Black one-pixel outline around emoji shapes */
|
||||
.emoji {
|
||||
text-shadow:
|
||||
1px 0 0 black,
|
||||
-1px 0 0 black,
|
||||
0 1px 0 black,
|
||||
0 1px 0 black,
|
||||
0 -1px 0 black;
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,22 @@ assert-size: (".item-info", {"width": 840})
|
||||
assert-size: (".item-info .stab", {"width": 289})
|
||||
assert-position: (".item-info .stab", {"x": 245})
|
||||
|
||||
// We check that the display of the feature elements is not broken. It serves as regression
|
||||
// test for <https://github.com/rust-lang/rust/issues/118615>.
|
||||
set-window-size: (850, 800)
|
||||
store-position: (
|
||||
"//*[@class='stab portability']//code[text()='Win32_System']",
|
||||
{"x": first_line_x, "y": first_line_y},
|
||||
)
|
||||
store-position: (
|
||||
"//*[@class='stab portability']//code[text()='Win32_System_Diagnostics']",
|
||||
{"x": second_line_x, "y": second_line_y},
|
||||
)
|
||||
assert: |first_line_x| != |second_line_x| && |first_line_x| == 516 && |second_line_x| == 272
|
||||
assert: |first_line_y| != |second_line_y| && |first_line_y| == 688 && |second_line_y| == 711
|
||||
|
||||
// Now we ensure that they're not rendered on the same line.
|
||||
set-window-size: (1100, 800)
|
||||
go-to: "file://" + |DOC_PATH| + "/lib2/trait.Trait.html"
|
||||
// We first ensure that there are two item info on the trait.
|
||||
assert-count: ("#main-content > .item-info .stab", 2)
|
||||
|
@ -6,6 +6,13 @@ edition = "2018"
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
|
||||
[features]
|
||||
Win32 = ["Win32_System"]
|
||||
Win32_System = ["Win32_System_Diagnostics"]
|
||||
Win32_System_Diagnostics = ["Win32_System_Diagnostics_Debug"]
|
||||
Win32_System_Diagnostics_Debug = []
|
||||
default = ["Win32"]
|
||||
|
||||
[dependencies]
|
||||
implementors = { path = "./implementors" }
|
||||
http = { path = "./http" }
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ignore-tidy-linelength
|
||||
|
||||
#![feature(doc_cfg)]
|
||||
#![feature(doc_auto_cfg)]
|
||||
|
||||
pub mod another_folder;
|
||||
pub mod another_mod;
|
||||
@ -28,6 +29,14 @@ impl Foo {
|
||||
/// Some documentation
|
||||
/// # A Heading
|
||||
pub fn a_method(&self) {}
|
||||
|
||||
#[cfg(all(
|
||||
feature = "Win32",
|
||||
feature = "Win32_System",
|
||||
feature = "Win32_System_Diagnostics",
|
||||
feature = "Win32_System_Diagnostics_Debug"
|
||||
))]
|
||||
pub fn lot_of_features() {}
|
||||
}
|
||||
|
||||
#[doc(cfg(feature = "foo-method"))]
|
||||
|
Loading…
Reference in New Issue
Block a user