-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rustdoc drops impl Foreign<Local> for Foreign #82465
Comments
That's |
Assigning @rustbot label -I-prioritize +P-high |
The commit responsible is this one: 937f629 from #80653 EDIT: For future reference: I was able to find it using cargo-bisect on a "foo" project I created ( Then I created a #!/bin/sh
rm -rf target-bisect*; cargo doc;grep '"impl-AsRef%3CGus%3E' ` find . -name struct.Gus.html` Then you just need to run (in your "foo" folder): $ cargo bisect-rustc --script=./test.sh --test-dir=`pwd` |
Actually, I'm wondering about something: why should we see |
@GuillaumeGomez because it's both 1. An api that the crate creates (the way I found this was I saw a str.as_ref call in some code I was reading in the camino crate imma fn that returned a &Utf8Path, that public api was not exposed on doc.rs) and 2. Can't be on the docs for the foreign type (as this impl is in the local crate) This is definitely a really specific case of coherence, but it would be a downgrade to lose this in docs |
Discussed in T-compiler triage meeting. We're going to revert PR #80653 as a way to fix this in the short-term, while the kinks get worked out in the appropriate fix to get this all working (with #80653) again. |
…ng#82465. adapted from 513756bb55a0dbc6e74d0043afd1727bd3c73aae
…lang#82465. (update: placated tidy)
…ng#82465. adapted from 513756bb55a0dbc6e74d0043afd1727bd3c73aae
…, r=jyn514 rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType As discussed here: rust-lang#82465 (comment), Revert PR rust-lang#80653 to resolve issue rust-lang#82465. Issue rust-lang#82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR rust-lang#80653. Reverting rust-lang#80653 means we don't list all the methods that you have accessible via recursively applying `Deref`. [Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
…lang#82465. (update: placated tidy)
A revert for this was backported in both stable 1.52.0 and beta 1.53.0, so it only affects nightly 1.54.0 now. Updating the labels accordingly. |
…, r=jyn514 rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType As discussed here: rust-lang#82465 (comment), Revert PR rust-lang#80653 to resolve issue rust-lang#82465. Issue rust-lang#82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR rust-lang#80653. Reverting rust-lang#80653 means we don't list all the methods that you have accessible via recursively applying `Deref`. [Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
The revert should also have been applied to nightly - is #84867 only landing on 1.53? It should land on 1.54 too if so. |
@jyn514 well that PR didn't land on 1.54 yet :) |
…, r=jyn514 rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType As discussed here: rust-lang#82465 (comment), Revert PR rust-lang#80653 to resolve issue rust-lang#82465. Issue rust-lang#82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR rust-lang#80653. Reverting rust-lang#80653 means we don't list all the methods that you have accessible via recursively applying `Deref`. [Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
…, r=jyn514 rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType As discussed here: rust-lang#82465 (comment), Revert PR rust-lang#80653 to resolve issue rust-lang#82465. Issue rust-lang#82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR rust-lang#80653. Reverting rust-lang#80653 means we don't list all the methods that you have accessible via recursively applying `Deref`. [Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
…lang#82465. (update: placated tidy) (update: rebased post PR rust-lang#84707 ) merge me
…r=jyn514 rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType As discussed here: rust-lang#82465 (comment), Revert PR rust-lang#80653 to resolve issue rust-lang#82465. Issue rust-lang#82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR rust-lang#80653. Reverting rust-lang#80653 means we don't list all the methods that you have accessible via recursively applying `Deref`. [Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
…lang#82465. (update: placated tidy) (update: rebased post PR rust-lang#84707 ) merge me
This has been fixed by #84867 on 1.54 too. |
I tried this code:
with
cargo doc
I get:with
cargo +nightly
I get:Meta
stable:
rustc 1.50.0 (cb75ad5db 2021-02-10)
nightly:
rustc 1.52.0-nightly (d1206f950 2021-02-15)
but this also affects whatever nightly docs.rs is on (https://docs.rs/camino/1.0.0/camino/struct.Utf8Path.html#impl-AsRef%3Cstr%3E is missing thefor str
impl(separately, I hit rust-lang/cargo#6783 when testing this, where
cargo +stable doc --open
still used the nightly generated code)The text was updated successfully, but these errors were encountered: