diff options
| author | bors <bors@rust-lang.org> | 2022-09-23 06:52:39 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-09-23 06:52:39 +0000 |
| commit | bc4d574ff2ffcfe76db36116cc4f193384065985 (patch) | |
| tree | bdaf7d8c895a80f9c18b04930238c970c963422a /src | |
| parent | 77e7e88567691068f5fba288618023368882d60b (diff) | |
| parent | dfeff64550444e7840c21de36f4ffea6d9647b90 (diff) | |
| download | rust-bc4d574ff2ffcfe76db36116cc4f193384065985.tar.gz rust-bc4d574ff2ffcfe76db36116cc4f193384065985.zip | |
Auto merge of #102150 - matthiaskrgr:rollup-6xmd8f3, r=matthiaskrgr
Rollup of 10 pull requests
Successful merges:
- #102113 (OpTy: fix a method taking self rather than &self)
- #102118 (rustdoc: clean up line numbers on code examples)
- #102123 (Add note to clippy::non_expressive_names doc)
- #102125 (rustdoc: remove no-op CSS `.content .item-info { position: relative }`)
- #102127 (Use appropriate variable names)
- #102128 (Const unification is already infallible, remove the error handling logic)
- #102133 (Use valtrees for comparison)
- #102135 (Improve some AllTypes fields name)
- #102144 (Extend const_convert with const {FormResidual, Try} for ControlFlow.)
- #102147 (rustdoc: remove no-op CSS `.location:empty { border: none }`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/render/mod.rs | 22 | ||||
| -rw-r--r-- | src/librustdoc/html/static/css/rustdoc.css | 11 | ||||
| -rw-r--r-- | src/librustdoc/html/static/js/main.js | 41 | ||||
| -rw-r--r-- | src/librustdoc/html/static/js/settings.js | 7 | ||||
| -rw-r--r-- | src/test/rustdoc-gui/docblock-code-block-line-number.goml | 17 | ||||
| -rw-r--r-- | src/test/rustdoc-gui/source-anchor-scroll.goml | 2 | ||||
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/non_expressive_names.rs | 4 |
7 files changed, 72 insertions, 32 deletions
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 7e5e4df43d2..621f83824d9 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -239,8 +239,8 @@ struct AllTypes { opaque_tys: FxHashSet<ItemEntry>, statics: FxHashSet<ItemEntry>, constants: FxHashSet<ItemEntry>, - attributes: FxHashSet<ItemEntry>, - derives: FxHashSet<ItemEntry>, + attribute_macros: FxHashSet<ItemEntry>, + derive_macros: FxHashSet<ItemEntry>, trait_aliases: FxHashSet<ItemEntry>, } @@ -259,8 +259,8 @@ impl AllTypes { opaque_tys: new_set(100), statics: new_set(100), constants: new_set(100), - attributes: new_set(100), - derives: new_set(100), + attribute_macros: new_set(100), + derive_macros: new_set(100), trait_aliases: new_set(100), } } @@ -283,8 +283,10 @@ impl AllTypes { ItemType::OpaqueTy => self.opaque_tys.insert(ItemEntry::new(new_url, name)), ItemType::Static => self.statics.insert(ItemEntry::new(new_url, name)), ItemType::Constant => self.constants.insert(ItemEntry::new(new_url, name)), - ItemType::ProcAttribute => self.attributes.insert(ItemEntry::new(new_url, name)), - ItemType::ProcDerive => self.derives.insert(ItemEntry::new(new_url, name)), + ItemType::ProcAttribute => { + self.attribute_macros.insert(ItemEntry::new(new_url, name)) + } + ItemType::ProcDerive => self.derive_macros.insert(ItemEntry::new(new_url, name)), ItemType::TraitAlias => self.trait_aliases.insert(ItemEntry::new(new_url, name)), _ => true, }; @@ -327,10 +329,10 @@ impl AllTypes { if !self.constants.is_empty() { sections.insert(ItemSection::Constants); } - if !self.attributes.is_empty() { + if !self.attribute_macros.is_empty() { sections.insert(ItemSection::AttributeMacros); } - if !self.derives.is_empty() { + if !self.derive_macros.is_empty() { sections.insert(ItemSection::DeriveMacros); } if !self.trait_aliases.is_empty() { @@ -373,8 +375,8 @@ impl AllTypes { print_entries(f, &self.primitives, ItemSection::PrimitiveTypes); print_entries(f, &self.traits, ItemSection::Traits); print_entries(f, &self.macros, ItemSection::Macros); - print_entries(f, &self.attributes, ItemSection::AttributeMacros); - print_entries(f, &self.derives, ItemSection::DeriveMacros); + print_entries(f, &self.attribute_macros, ItemSection::AttributeMacros); + print_entries(f, &self.derive_macros, ItemSection::DeriveMacros); print_entries(f, &self.functions, ItemSection::Functions); print_entries(f, &self.typedefs, ItemSection::TypeDefinitions); print_entries(f, &self.trait_aliases, ItemSection::TraitAliases); diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index f21179ec558..4cf91bb00c6 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -522,10 +522,6 @@ img { width: 100px; } -.location:empty { - border: none; -} - .block ul, .block li { padding: 0; margin: 0; @@ -577,13 +573,9 @@ h2.location a { } .rustdoc .example-wrap { - display: inline-flex; + display: flex; margin-bottom: 10px; -} - -.example-wrap { position: relative; - width: 100%; } .example-wrap > pre.line-number { @@ -745,7 +737,6 @@ pre, .rustdoc.source .example-wrap { } .content .item-info { - position: relative; margin-left: 24px; } diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 6e9660ddcc9..5fbe540c320 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -697,20 +697,39 @@ function loadCss(cssFileName) { } }()); + window.rustdoc_add_line_numbers_to_examples = () => { + onEachLazy(document.getElementsByClassName("rust-example-rendered"), x => { + const parent = x.parentNode; + const line_numbers = parent.querySelectorAll(".line-number"); + if (line_numbers.length > 0) { + return; + } + const count = x.textContent.split("\n").length; + const elems = []; + for (let i = 0; i < count; ++i) { + elems.push(i + 1); + } + const node = document.createElement("pre"); + addClass(node, "line-number"); + node.innerHTML = elems.join("\n"); + parent.insertBefore(node, x); + }); + }; + + window.rustdoc_remove_line_numbers_from_examples = () => { + onEachLazy(document.getElementsByClassName("rust-example-rendered"), x => { + const parent = x.parentNode; + const line_numbers = parent.querySelectorAll(".line-number"); + for (const node of line_numbers) { + parent.removeChild(node); + } + }); + }; + (function() { // To avoid checking on "rustdoc-line-numbers" value on every loop... if (getSettingValue("line-numbers") === "true") { - onEachLazy(document.getElementsByClassName("rust-example-rendered"), x => { - const count = x.textContent.split("\n").length; - const elems = []; - for (let i = 0; i < count; ++i) { - elems.push(i + 1); - } - const node = document.createElement("pre"); - addClass(node, "line-number"); - node.innerHTML = elems.join("\n"); - x.parentNode.insertBefore(node, x); - }); + window.rustdoc_add_line_numbers_to_examples(); } }()); diff --git a/src/librustdoc/html/static/js/settings.js b/src/librustdoc/html/static/js/settings.js index 797b931afc6..1c5d33e2127 100644 --- a/src/librustdoc/html/static/js/settings.js +++ b/src/librustdoc/html/static/js/settings.js @@ -19,6 +19,13 @@ updateSystemTheme(); updateLightAndDark(); break; + case "line-numbers": + if (value === true) { + window.rustdoc_add_line_numbers_to_examples(); + } else { + window.rustdoc_remove_line_numbers_from_examples(); + } + break; } } diff --git a/src/test/rustdoc-gui/docblock-code-block-line-number.goml b/src/test/rustdoc-gui/docblock-code-block-line-number.goml index baf9651c40d..ebfffbce715 100644 --- a/src/test/rustdoc-gui/docblock-code-block-line-number.goml +++ b/src/test/rustdoc-gui/docblock-code-block-line-number.goml @@ -20,3 +20,20 @@ assert-css: ("pre.line-number", { }) // The first code block has two lines so let's check its `<pre>` elements lists both of them. assert-text: ("pre.line-number", "1\n2") + +// Now, try changing the setting dynamically. We'll turn it off, using the settings menu, +// and make sure it goes away. + +// First, open the settings menu. +click: "#settings-menu" +wait-for: "#settings" +assert-css: ("#settings", {"display": "block"}) + +// Then, click the toggle button. +click: "input#line-numbers + .slider" +wait-for: 100 // wait-for-false does not exist +assert-false: "pre.line-number" + +// Finally, turn it on again. +click: "input#line-numbers + .slider" +wait-for: "pre.line-number" diff --git a/src/test/rustdoc-gui/source-anchor-scroll.goml b/src/test/rustdoc-gui/source-anchor-scroll.goml index 4e51c8dcac0..47e40aa8e3b 100644 --- a/src/test/rustdoc-gui/source-anchor-scroll.goml +++ b/src/test/rustdoc-gui/source-anchor-scroll.goml @@ -10,7 +10,7 @@ assert-property: ("html", {"scrollTop": "0"}) click: '//a[text() = "barbar"]' assert-property: ("html", {"scrollTop": "125"}) click: '//a[text() = "bar"]' -assert-property: ("html", {"scrollTop": "166"}) +assert-property: ("html", {"scrollTop": "156"}) click: '//a[text() = "sub_fn"]' assert-property: ("html", {"scrollTop": "53"}) diff --git a/src/tools/clippy/clippy_lints/src/non_expressive_names.rs b/src/tools/clippy/clippy_lints/src/non_expressive_names.rs index b96af06b8d7..a7cd1f6d065 100644 --- a/src/tools/clippy/clippy_lints/src/non_expressive_names.rs +++ b/src/tools/clippy/clippy_lints/src/non_expressive_names.rs @@ -15,6 +15,10 @@ declare_clippy_lint! { /// ### What it does /// Checks for names that are very similar and thus confusing. /// + /// Note: this lint looks for similar names throughout each + /// scope. To allow it, you need to allow it on the scope + /// level, not on the name that is reported. + /// /// ### Why is this bad? /// It's hard to distinguish between names that differ only /// by a single character. |
