-
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
Rollup of 8 pull requests #41121
Rollup of 8 pull requests #41121
Conversation
This is a random stab towards rust-lang#38618, no idea if it'll work. But hey more up-to-date software is better, right?
This is a second (2/3?) step in order to complete this issue: rust-lang#29370 I submitted this PR with the help of @steveklabnik again. Thanks to him! More info here: rust-lang#29370 (comment)
Tuple fields don't have an `&T` in their declaration that can be changed to `&mut T` - skip them.. Fixes rust-lang#41104.
* Since the switch to pulldown-cmark reference links need a blank line before the URLs. * Reference link references are not case sensitive. * Doc comments need to be indented uniformly otherwise rustdoc gets confused.
Instead of rendering all of the HTML in rustdoc this relies on pulldown-cmark's `push_html` to do most of the work. A few iterator adapters are used to make rustdoc specific modifications to the output. This also fixes MarkdownHtml and link titles in plain_summary_line.
This initial commit provides implementations for HIR, MIR, and everything that also needs to be supported for those two.
Introduce HashStable trait and base ICH implementations on it. This PR introduces the `HashStable` trait which marks that a type can be hashed in a way that is stable across multiple compilation sessions. The PR also moves HIR incr. comp. hashing over to implementations of this trait instead of doing this via a HIR visitor. It also provides many `HashStable` implementations that are not used yet (e.g. for MIR types) but soon will be used when we directly hash crate metadata for incr. comp. I've only done superficial performance measurements but it looks like the new implementation is a bit faster than the current one (due, I suppose, to some bugs I fixed and some unnecessary inefficiencies I removed). Here is the time in seconds for the `compute_incremental_hashes_map` pass for various crates: | | OLD | NEW | |:---------------:|:-----:|:-----:| | libcore | 0.507 | 0.409 | | libsyntax | 0.320 | 0.260 | | librustc | 0.730 | 0.611 | | librustc_driver | 0.024 | 0.015 | Some notes regarding the implementation: * Most `HashStable` implementations are provided via the `impl_hash_stable_for!` macro (as suggested by @nikomatsakis). This works out quite well. A custom_derive would have been better but Macros 1.1 are not available in the compiler. * The trait implementation take care to exhaustively destructure everything they hash so that fields added in the future don't fall through the cracks. This is a bit verbose but I think it's well worth the trouble since we've had quite a few issues with missing fields or visitor callbacks in this area in the past. Most of it is behind the macro anyway. cc @rust-lang/compiler r? @nikomatsakis
Don't warn about `char` comparisons in constexprs Fixes rust-lang#40970 by evaluating const-exprs for comparisons on `char`s properly.
travis: Update musl for i686/x86_64 This is a random stab towards rust-lang#38618, no idea if it'll work. But hey more up-to-date software is better, right?
Add example to std::process::abort This is a second step in order to complete this issue: rust-lang#29370 I submitted this PR with the help of @steveklabnik again. Thanks to him! More info here: rust-lang#29370 (comment)
don't try to blame tuple fields for immutability Tuple fields don't have an `&T` in their declaration that can be changed to `&mut T` - skip them.. Fixes rust-lang#41104. r? @nikomatsakis
…umeGomez Fix Markdown issues in the docs * Since the switch to pulldown-cmark reference links need a blank line before the URLs. (rust-lang#40912) * Reference link references are not case sensitive. * Doc comments need to be indented uniformly otherwise rustdoc gets confused.
rustdoc: Use pulldown-cmark for Markdown HTML rendering Instead of rendering all of the HTML in rustdoc this relies on pulldown-cmark's `push_html` to do most of the work. A few iterator adapters are used to make rustdoc specific modifications to the output. This also fixes MarkdownHtml and link titles in plain_summary_line. https://ollie27.github.io/rust_doc_test/ is the docs built with this change and rust-lang#41111. Part of rust-lang#40912. cc @GuillaumeGomez r? @steveklabnik
.gitmodules: use the official Git URL w/o redirect
@bors r+ p=10 |
📌 Commit 8af853b has been approved by |
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nrc (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
⌛ Testing commit 8af853b with merge b8188a6... |
💔 Test failed - status-appveyor |
⌛ Testing commit 8af853b with merge 929d654... |
💔 Test failed - status-appveyor |
☀️ Test successful - status-appveyor, status-travis |
char
comparisons in constexprs #40976, travis: Update musl for i686/x86_64 #41089, Add example to std::process::abort #41090, don't try to blame tuple fields for immutability #41108, Fix Markdown issues in the docs #41111, rustdoc: Use pulldown-cmark for Markdown HTML rendering #41112, .gitmodules: use the official Git URL w/o redirect #41114