-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rollup of 5 pull requests #29872
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
Merged
Merged
Rollup of 5 pull requests #29872
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Handle them in `middle::reachable` instead (no optimizations so far, just drop all trait impl items into the reachable set, as before). Addresses the concerns from rust-lang#29291 (comment) \+ In `middle::reachable` don't treat impls of `Drop` specially, they are subsumed by the general impl treatment. \+ Add some tests checking reachability of trait methods written in UFCS form \+ Minor refactoring in the second commit r? @alexcrichton
[breaking change]
Also remove `stable` stability annotations from inherent impls (There will be a warning for useless stability annotations soon.) r? @gankro
Now that thread::sleep is a real thing, let's use it Fixes rust-lang#29621
* Store the native representation directly in the `ExitStatus` structure instead of a "parsed version" (mostly for Unix). * On Windows, be more robust against processes exiting with the status of 259. Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to think the process was still alive, causing an infinite loop. Instead the loop is removed altogether and `WaitForSingleObject` is used to wait for the process to exit.
…aturon * Store the native representation directly in the `ExitStatus` structure instead of a "parsed version" (mostly for Unix). * On Windows, be more robust against processes exiting with the status of 259. Unfortunately this exit code corresponds to `STILL_ACTIVE`, causing libstd to think the process was still alive, causing an infinite loop. Instead the loop is removed altogether and `WaitForSingleObject` is used to wait for the process to exit.
Allow the changing of `target_family` through flexible configuration. The whole computing world isn't just a binary of *nix and Windows! Makes porting `libstd` and co to new platforms a lot less painful.
Now that thread::sleep is a real thing, let's use it Fixes rust-lang#29621 r? @bstrie
This is currently done for functions but not public static symbols.
- Successful merges: rust-lang#29617, rust-lang#29622, rust-lang#29656, rust-lang#29659, rust-lang#29660 - Failed merges:
When merging two sorted blocks `left` and `right` if the last element in `left` is <= the first in `right`, the blocks are already sorted. Add this as an additional fast path by simply copying the whole left block into the output and advancing the left pointer. The right block is then treated the same way by the already present logic in the merge loop. Reduces runtime of .sort() to less than 50% of the previous, if the data was already perfectly sorted. Sorted data with a few swaps are also sorted quicker than before. The overhead of one comparison per merge seems to be negligible.
The right part must not be empty.
…el422 Fixes the typo 'is is'.
…richton The `enable-nonzeroing-move-hints` flag name was too long and caused misalignment of the help text. Now calculating the needed padding dynamically from the available flags instead.
… r=nrc Another rustfmt PR. I ran rustfmt, then split the changes in multiple commits. First commit are the non-problematic changed. The others are all the little weirdness that caught my attention and could be discussed.
f357d55 caused a regression by retrieving item names from metadata, while previously using the last element of its absolute path (which in the case of a root module is the prefixed crate name since the stored path in metadata is empty) fixes rust-lang#28927
This is to handle the case where CFG_LIBDIR is not a direct child of CFG_PREFIX (in other words, where CFG_LIBDIR_RELATIVE has more than one component).
insert() returns bool, but it was wrongly stated that if the set had the key already present, that key would be returned (this was probably copied from the HashMap docs). Also remove a reference to the module-level documentation, which doesn't make sense as it doesn't give any more context.
This should get `--libdir` working as well as it was a couple of weeks ago. (That is, it still rewrites paths incorrectly but it no longer fails during `make install`.) Fixes gentoo/gentoo-rust#28 and gentoo/gentoo-rust#29.
insert() returns bool, but it was wrongly stated that if the set had the key already present, that key would be returned (this was probably copied from the HashMap docs). Also remove a reference to the module-level documentation, which doesn't make sense as it doesn't give any more context. r? @steveklabnik
…alexcrichton Sometimes when writing generic code you want to abstract over owning/pointer type so that calling code isn't restricted by one concrete owning/pointer type. This commit makes possible such code: ```rust fn i_will_work_with_arc<T: Into<Arc<MyTy>>>(t: T) { let the_arc = t.into(); // Do something } i_will_work_with_arc(MyTy::new()); i_will_work_with_arc(Box::new(MyTy::new())); let arc_that_i_already_have = Arc::new(MyTy::new()); i_will_work_with_arc(arc_that_i_already_have); ``` Please note that this patch doesn't work with DSTs. Also to mention, I made those impls stable, and I don't know whether they should be actually stable from the beginning. Please tell me if this should be feature-gated.
I noticed the nomicon was not listed! I also removed links to racer and rustfmt since they were not *doc-specific* links, just links to tools, as well as pointed the cargo link directly at the docs. Removed all the community stuff. There are lots of other places to find this now, including the website. With pending website changes this page will continue to be pared back, reflecting only what's in-tree, not general Rust docs. r? @steveklabnik
…te, r=steveklabnik The command-line error message for E0432 does mention the possibility of missing the `extern crate` declaration, but the detailed error message for it doesn't. Fixes rust-lang#29517.
Duplicate entries removed. This doesn't quite completely allow for generating AUTHORS.txt from scratch but it's much closer now.
@bors: r+ p=1 |
📌 Commit 0050895 has been approved by |
(rust_highfive has picked a reviewer for you, use r? to override) |
1 similar comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mutex
example #29865