rust/tests/rustdoc-js
Matthias Krüger a95e2f999a
Rollup merge of #122247 - notriddle:notriddle/search-unbox-limit, r=GuillaumeGomez
rustdoc-search: depth limit `T<U>` -> `U` unboxing

Profiler output:
https://notriddle.com/rustdoc-html-demo-9/search-unbox-limit/ (the only significant change is that one of the `rust` tests went from 378416ms to 16ms).

This is a performance enhancement aimed at a problem I found while using type-driven search on the Rust compiler. It is caused by [`Interner`], a trait with 41 associated types, many of which recurse back to `Self` again.

This caused search.js to struggle. It eventually terminates, after about 10 minutes of turning my PC into a space header, but it's doing `41!` unifications and that's too slow.

[`Interner`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/trait.Interner.html
2024-03-14 15:44:32 +01:00
..
auxiliary rustdoc-search: stress test for associated types 2024-03-11 09:20:49 -07:00
assoc-type-backtrack.js
assoc-type-backtrack.rs
assoc-type-loop.js
assoc-type-loop.rs
assoc-type.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
assoc-type.rs
basic.js
basic.rs
big-result.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
big-result.rs rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
doc-alias-filter-out.js
doc-alias-filter-out.rs
doc-alias-filter.js
doc-alias-filter.rs
doc-alias-whitespace.js
doc-alias-whitespace.rs
doc-alias.js
doc-alias.rs
enum-variant-not-type.js rustdoc-search: do not treat associated type names as types 2023-12-10 16:52:21 -07:00
enum-variant-not-type.rs rustdoc-search: do not treat associated type names as types 2023-12-10 16:52:21 -07:00
exact-match.js rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
exact-match.rs
foreign-type-path.js
foreign-type-path.rs
full-path-function.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
full-path-function.rs
gat.js
gat.rs
generics2.js
generics2.rs
generics-impl.js
generics-impl.rs
generics-match-ambiguity.js
generics-match-ambiguity.rs
generics-multi-trait.js
generics-multi-trait.rs
generics-nested.js
generics-nested.rs
generics-trait.js
generics-trait.rs
generics-unbox.js
generics-unbox.rs
generics.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
generics.rs
hof.js rustdoc-search: add search query syntax Fn(T) -> U 2024-03-11 22:27:22 -07:00
hof.rs rustdoc-search: parse and search with ML-style HOF 2024-03-11 21:22:03 -07:00
impl-trait.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
impl-trait.rs
looks-like-rustc-interner.js rustdoc-search: stress test for associated types 2024-03-11 09:20:49 -07:00
looks-like-rustc-interner.rs rustdoc-search: stress test for associated types 2024-03-11 09:20:49 -07:00
macro-search.js
macro-search.rs
module-substring.js rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
module-substring.rs
nested-unboxed.js
nested-unboxed.rs
never-search.js
never-search.rs
path-maxeditdistance.js rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
path-maxeditdistance.rs rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
path-ordering.js rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
path-ordering.rs rustdoc-search: count path edits with separate edit limit 2023-12-26 18:46:17 -07:00
primitive.js
primitive.rs
prototype.js
prototype.rs
raw-pointer.js
raw-pointer.rs
reexport.js
reexport.rs
search-bag-semantics.js
search-bag-semantics.rs
search-method-disambiguate.js
search-method-disambiguate.rs
search-non-local-trait-impl.js
search-non-local-trait-impl.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
search-short-types.js
search-short-types.rs
slice-array.js
slice-array.rs
struct-like-variant.js
struct-like-variant.rs
substring.js rustdoc-search: remove parallel searchWords array 2023-12-15 16:26:35 -07:00
substring.rs rustdoc-search: remove parallel searchWords array 2023-12-15 16:26:35 -07:00
summaries.js
summaries.rs
trait-methods.js
trait-methods.rs
tuple-unit.js rustdoc: search for tuples and unit by type with () 2023-12-26 12:54:17 -07:00
tuple-unit.rs rustdoc: search for tuples and unit by type with () 2023-12-26 12:54:17 -07:00
type-parameters.js rustdoc-search: use set ops for ranking and filtering 2023-12-13 10:37:15 -07:00
type-parameters.rs
where-clause.js
where-clause.rs