rustdoc: Separate the caches for synthetic auto trait & blanket impls#157171
rustdoc: Separate the caches for synthetic auto trait & blanket impls#157171fmease wants to merge 2 commits into
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
rustdoc: Separate the caches for synthetic auto trait & blanket impls
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f14d268): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -5.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.4%, secondary 3.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.1%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 515.367s -> 515.314s (-0.01%) |
| // FIXME: I'm pretty that the only reason we "need" these caches is because we also invoke | ||
| // `synthesize_auto_trait_and_blanket_impls` on all impls(!) for primitive types | ||
| // instead of calling it only once per primitive type (see also #97129). | ||
| // Get rid of that jank and remove both caches! |
There was a problem hiding this comment.
I don't have the time or leisure to investigate and implement this now. However, this issue does occupy my mind and I'll tackle it soon(tm).
Tagging the corresp. GH issue: #97129.
|
rustbot has assigned @lolbinarycat. Use Why was this reviewer chosen?The reviewer was selected based on:
|
| // 'Marker for Subject' | ||
|
|
||
| //@ has - '//*[@id="blanket-implementations-list"]//*[@class="impl"]' \ | ||
| // 'Marker for Twhere T: Copy' |
There was a problem hiding this comment.
Indeed, it has to be Twhere for now, T where would fail the htmldocck check. It seems htmldocck incorrectly strips HTML tags. For reference, the HTML looks like for T<div class="where">where.
IIRC I stumble upon this quite often (unsurprisingly) but I usually split the test expectation into two lines, something like Marker for T\ and where T: Copy which looks better and "hides" this issue (despite being equivalent to what's written here). This bug definitely needs addressing at some point.
Fixes #148980.