@Caleb Webber are you still planning to work on https://github.com/rust-lang/rust/issues/78761 ? nbd if not but @Poliorcetics was interested in taking a look
@Poliorcetics also fyi it turns out that blanket impls are completely broken currently due to some bad caching in rustdoc https://github.com/rust-lang/rust/issues/78800
it doesn't return anything if you call
get_blanket_impls more than once :face_palm:
@Caleb Webber IIRC the issue with get_blanket_impls was not related to my suggested perf fix, which was 'call blanket_impls less'
so I think it makes sense for you and @Poliorcetics to work on both in parallel
Joshua Nelson said:
Caleb Webber are you still planning to work on https://github.com/rust-lang/rust/issues/78761 ? nbd if not but Poliorcetics was interested in taking a look
I'm good with this, I'm still working on 78800, haven't really figured out perf issues yet
the other thing to consider is whether rustdoc should be using
get_blanket_impls at all
from what @Caleb Webber was saying it sounds like it's pretty heavily specialized for calculating all impls exactly once
which is not what collect_intra_doc_links needs
I'd be curious to see what performance impact we'd have by removing that behavior
@Manish Goregaokar I pinged you on https://github.com/rust-lang/rust/issues/78800 but you might have missed it - what do you think about just not looking at blanket impls for resolving associated items? It's been broken since implemented so no one can be using it, and it's like a 100x slowdown
ha, I'd be okay with that too, less coding :laughing:
@Joshua Nelson oh I thought I'd responded. Yeah just kill it for now
I would like to have it if possible
yeah I think we could reland it at some point in the future
but as is it's doing nothing and hurting perf :/
hmm, are you okay with losing auto traits as well? Not sure how with the current implementation you'd remove blanket impls without losing auto impls
auto traits are just Send and Sync, right? those don't have associated items
would this close 78761?
I guess so, yeah. Not the issue that they don't work, though.
I would think we'd want to plan to reimplement something later...
definitely, this is just temporary because it's doing nothing right now
ha, I was just creating the PR when I saw you beat me to it by three minutes :P
oops, sorry :laughing:
Last updated: Oct 21 2021 at 19:46 UTC