Uh oh!
There was an error while loading. Please reload this page.
rustdoc: generate implementors for all auto traits - #60293
Conversation
rust-highfive
commented
Apr 25, 2019
(rust_highfive has picked a reviewer for you, use r? to override) |
Uh oh!
There was an error while loading. Please reload this page.
rust-highfive
commented
Apr 26, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
Apr 28, 2019
☔ The latest upstream changes (presumably #60317) made this pull request unmergeable. Please resolve the merge conflicts. |
nagisa
commented
May 2, 2019
60a1ef8 to
a5f06e6Comparenagisa
commented
May 2, 2019
It seems like @eddyb’s changes which landed recently resolved the issue with |
QuietMisdreavus
commented
May 2, 2019
Looks good! Can you add a test that includes a crate-local auto trait to make sure it shows up properly on other types within that crate? |
a5f06e6 to
edc5758Comparenagisa
commented
May 3, 2019
@QuietMisdreavus updated. Please confirm the added test makes sense. |
bors
commented
May 4, 2019
☔ The latest upstream changes (presumably #60462) made this pull request unmergeable. Please resolve the merge conflicts. |
edc5758 to
67aa915Comparerust-highfive
commented
May 4, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
67aa915 to
4a5e4daComparenagisa
commented
May 10, 2019
ping @QuietMisdreavus ^ |
bors
commented
May 13, 2019
☔ The latest upstream changes (presumably #60630) made this pull request unmergeable. Please resolve the merge conflicts. |
4a5e4da to
963184bComparenagisa
commented
May 19, 2019
Rebased. Also GitHub is being weird and auto-closing stuff??? |
bors
commented
May 24, 2019
☔ The latest upstream changes (presumably #61105) made this pull request unmergeable. Please resolve the merge conflicts. |
GuillaumeGomez
commented
May 29, 2019
Please ping me once you have rebased so I can review. :) |
5c07ac9 to
40c9a0aComparenagisa
commented
Jun 1, 2019
Rebased, @GuillaumeGomez. |
Looks all good to me. Considering that it's using rustc internals, I guess someone from the @rust-lang/compiler team should take a look as well? Otherwise r=me. |
eddyb
commented
Jun 2, 2019
@bors r+ |
bors
commented
Jun 2, 2019
📌 Commit 40c9a0a0ac470f0fef5fd749bd5279aa54034a2d has been approved by |
nagisa
commented
Jun 8, 2019
Wow, this genuinely looks like a case of a type so composed that a recursion depth of 64 is insufficient. It is feasible to go ahead and "just" increase the limit, however it is not impossible for this to rear its end in the wild either… in which case it would be a regression. Is it possible to do a crater run for a |
bors
commented
Jun 8, 2019
⌛ Trying commit 40c9a0a0ac470f0fef5fd749bd5279aa54034a2d with merge 5ee7357c1e9b359a616859f22af499161b68bae2... |
bors
commented
Jun 8, 2019
💔 Test failed - checks-travis |
rust-highfive
commented
Jun 8, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
shepmaster
commented
Jun 9, 2019
Note that there are currently pending changes (see #61472 / #60444) that seemingly will force crates to increase their recursion limit to be able to run rustdoc, so this might be generally allowed. |
nagisa
commented
Jun 9, 2019
A-ha. I guess all I have to do is to wait for @nikomatsakis to fix it then. (I could not easily get documentation to get built locally for some reason…) |
bors
commented
Jun 12, 2019
☔ The latest upstream changes (presumably #61722) made this pull request unmergeable. Please resolve the merge conflicts. |
Previously we would only generate a list of synthetic implementations for two well known traits – Send and Sync. With this patch all the auto traits known to rustc are considered. This includes such traits like Unpin and user’s own traits. Sadly the implementation still iterates through the list of crate items and checks them against the traits, which for non-std crates containing their own auto-traits will still not include types defined in std/core. It is an improvement nontheless.
40c9a0a to
4c8d00aComparenagisa
commented
Jun 20, 2019
@bors try |
bors
commented
Jun 20, 2019
rustdoc: generate implementors for all auto traits Previously we would only generate a list of synthetic implementations for two well known traits – Send and Sync. With this patch all the auto traits known to rustc are considered. This includes such traits like Unpin and user’s own traits. Sadly the implementation still iterates through the list of crate items and checks them against the traits, which for non-std crates containing their own auto-traits will still not include types defined in std/core. It is an improvement nontheless.
bors
commented
Jun 20, 2019
☀️ Try build successful - checks-travis |
nagisa
commented
Jun 20, 2019
@bors r=eddyb |
bors
commented
Jun 20, 2019
📌 Commit 4c8d00a has been approved by |
bors
commented
Jun 20, 2019
rustdoc: generate implementors for all auto traits Previously we would only generate a list of synthetic implementations for two well known traits – Send and Sync. With this patch all the auto traits known to rustc are considered. This includes such traits like Unpin and user’s own traits. Sadly the implementation still iterates through the list of crate items and checks them against the traits, which for non-std crates containing their own auto-traits will still not include types defined in std/core. It is an improvement nontheless.
bors
commented
Jun 21, 2019
☀️ Test successful - checks-travis, status-appveyor |

Previously we would only generate a list of synthetic implementations
for two well known traits – Send and Sync. With this patch all the auto
traits known to rustc are considered. This includes such traits like
Unpin and user’s own traits.
Sadly the implementation still iterates through the list of crate items
and checks them against the traits, which for non-std crates containing
their own auto-traits will still not include types defined in std/core.
It is an improvement nontheless.