diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2021-09-10 08:23:25 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-10 08:23:25 -0700 |
| commit | 3aaec559a18fb61f6fe860269d2426d8a822467b (patch) | |
| tree | c684d267c4daa3f8231428120c3b885bee0f5ebe /src/librustdoc/html | |
| parent | 130e2e1edf211debb8ac9196fb4e525a87bb2607 (diff) | |
| parent | 0bf16af5f331079b1da91849ed0eb083b9b8e5f2 (diff) | |
| download | rust-3aaec559a18fb61f6fe860269d2426d8a822467b.tar.gz rust-3aaec559a18fb61f6fe860269d2426d8a822467b.zip | |
Rollup merge of #88776 - dns2utf8:rustdoc_workaround_1000_elements_grid_bug, r=GuillaumeGomez
Workaround blink/chromium grid layout limitation of 1000 rows I made this in case we don't come up with a better solution in time. See https://github.com/rust-lang/rust/issues/88545 for more details. A rendered version of the standard library is hosted here: https://data.estada.ch/rustdoc-nightly_497ee321af_2021-09-09/core/arch/arm/index.html r? `@GuillaumeGomez` `@jsha`
Diffstat (limited to 'src/librustdoc/html')
| -rw-r--r-- | src/librustdoc/html/render/print_item.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 8917c1e25c2..52505f2d634 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -256,6 +256,10 @@ fn item_module(w: &mut Buffer, cx: &Context<'_>, item: &clean::Item, items: &[cl debug!("{:?}", indices); let mut curty = None; + // See: https://github.com/rust-lang/rust/issues/88545 + let item_table_block_size = 900usize; + let mut item_table_nth_element = 0usize; + for &idx in &indices { let myitem = &items[idx]; if myitem.is_stripped() { @@ -281,6 +285,7 @@ fn item_module(w: &mut Buffer, cx: &Context<'_>, item: &clean::Item, items: &[cl id = cx.derive_id(short.to_owned()), name = name ); + item_table_nth_element = 0; } match *myitem.kind { @@ -387,6 +392,13 @@ fn item_module(w: &mut Buffer, cx: &Context<'_>, item: &clean::Item, items: &[cl ); } } + + item_table_nth_element += 1; + if item_table_nth_element > item_table_block_size { + w.write_str(ITEM_TABLE_CLOSE); + w.write_str(ITEM_TABLE_OPEN); + item_table_nth_element = 0; + } } if curty.is_some() { |
