-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 12 pull requests #66438
Rollup of 12 pull requests #66438
Commits on Oct 22, 2019
-
rename Error::iter_chain() and remove Error::iter_sources()
Rename * Error::iter_chain() -> Error::chain() * ErrorIter -> Chain Removed * Error::iter_sources() according to rust-lang#58520 Rationale: 1. Such iterators are helpful. They should better be stabilized sooner than later. 2. self should be included. It is easy to .skip(1) it. Not including self is harmful because it is harder to add self to the iterator than to remove it. 3. The chosen name should be telling and reflect the fact that self is included. `.chain()` was chosen because the iterator iterates over the chain of errors that is somehow included in self. 4. The resulting iterator is named `Chain` because the `error::Chain` is what we want to have.
Configuration menu - View commit details
-
Copy full SHA for 7b9d50d - Browse repository at this point
Copy the full SHA 7b9d50dView commit details
Commits on Nov 3, 2019
-
Avoid hashing the key twice in
get_query()
.For a single-threaded parallel compiler, this reduces instruction counts across several benchmarks, by up to 2.8%. The commit also adds documentation about `Sharded`'s use of `FxHasher`.
Configuration menu - View commit details
-
Copy full SHA for 1aceaaa - Browse repository at this point
Copy the full SHA 1aceaaaView commit details
Commits on Nov 12, 2019
-
Configuration menu - View commit details
-
Copy full SHA for b941034 - Browse repository at this point
Copy the full SHA b941034View commit details -
Configuration menu - View commit details
-
Copy full SHA for 695e91a - Browse repository at this point
Copy the full SHA 695e91aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 139477d - Browse repository at this point
Copy the full SHA 139477dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32d1f47 - Browse repository at this point
Copy the full SHA 32d1f47View commit details
Commits on Nov 13, 2019
-
Configuration menu - View commit details
-
Copy full SHA for bc1bd95 - Browse repository at this point
Copy the full SHA bc1bd95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4137263 - Browse repository at this point
Copy the full SHA 4137263View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d61484 - Browse repository at this point
Copy the full SHA 7d61484View commit details
Commits on Nov 14, 2019
-
Remove some stack frames from
.async
callsThe `Context` argument is currently smuggled through TLS for async-generated futures. The current infrastructure is closure-based, and results in an extra 6 stack frames when .awaiting an async-generated future! ``` 12: foo::async_b::{{closure}} at src/main.rs:10 13: <std::future::GenFuture<T> as core::future::future::Future>::poll::{{closure}} at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:43 14: std::future::set_task_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:79 15: <std::future::GenFuture<T> as core::future::future::Future>::poll at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:43 16: std::future::poll_with_tls_context::{{closure}} at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:121 17: std::future::get_task_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:111 18: std::future::poll_with_tls_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:121 19: foo::async_a::{{closure}} at src/main.rs:6 ``` While the long (medium?) term solution is to remove the use of TLS entirely, we can improve things a bit in the meantime. In particular, this commit does 2 things: 1. `get_task_context` has been inlined into `poll_with_tls_context`, removing 2 frames (16 and 17 above). 2. `set_task_context` now returns a guard type that resets the TLS rather than taking a closure, removing 2 frames (13 and 14 above). We can also remove frame 18 by removing `poll_with_tls_context` in favor of a `get_task_context` function which returns a guard, but that requires adjusting the code generated for .await, so I've left that off for now.
Configuration menu - View commit details
-
Copy full SHA for 3fe7cfc - Browse repository at this point
Copy the full SHA 3fe7cfcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c9ba97 - Browse repository at this point
Copy the full SHA 6c9ba97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 336e332 - Browse repository at this point
Copy the full SHA 336e332View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4349228 - Browse repository at this point
Copy the full SHA 4349228View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0a0a7d - Browse repository at this point
Copy the full SHA c0a0a7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b884205 - Browse repository at this point
Copy the full SHA b884205View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3afe6a - Browse repository at this point
Copy the full SHA e3afe6aView commit details -
Code cleanup to remove douplacte var definition
Also move the declaration outside the loop since they accumulate state with each iteration
Configuration menu - View commit details
-
Copy full SHA for cee0403 - Browse repository at this point
Copy the full SHA cee0403View commit details
Commits on Nov 15, 2019
-
Rollup merge of rust-lang#65557 - haraldh:error_iter_rename, r=sfackler
rename Error::iter_chain() and remove Error::iter_sources() ~~Rename~~ * ~~Error::iter_chain() -> Error::chained()~~ * ~~Error::iter_sources() -> Error::ancestors()~~ * ~~ErrorIter -> Chained and Ancestors~~ according to rust-lang#58520 (comment) Tracker: rust-lang#58520 Edit: Rename * Error::iter_chain() -> Error::chained() * ErrorIter -> Chain So, it seems, that even Path::ancestors() includes itself. So, to avoid confusion and simplify it more, I reduced PR rust-lang#65557 to only have `chained` and `Chain`. Rationale: 1. Such iterators are helpful. They should better be stabilized sooner than later. 1. self should be included. It is easy to .skip(1) it. Not including self is harmful because it is harder to add self to the iterator than to remove it. 1. The chosen name should be telling and reflect the fact that self is included. `.chained()` was chosen in honor of error-chain and because the iterator iterates over the chain of errors that is somehow included in self. 1. The resulting iterator is named `Chain` because the `error::Chain` is what we want to have.
Configuration menu - View commit details
-
Copy full SHA for 00c0c31 - Browse repository at this point
Copy the full SHA 00c0c31View commit details -
Rollup merge of rust-lang#66013 - nnethercote:avoid-hashing-twice-in-…
…get_query, r=Zoxc Avoid hashing the key twice in `get_query()`. For a single-threaded parallel compiler, this reduces instruction counts across several benchmarks, by up to 2.8%. The commit also adds documentation about `Sharded`'s use of `FxHasher`. r? @Zoxc
Configuration menu - View commit details
-
Copy full SHA for 22c0f62 - Browse repository at this point
Copy the full SHA 22c0f62View commit details -
Rollup merge of rust-lang#66306 - spastorino:remove-error-handled-by-…
…miri, r=oli-obk Remove cannot mutate statics in initializer of another static error r? @oli-obk This is just a refactoring. As the removed code itself said, it only a heuristic catching a few cases early instead of leaving it all to const eval. It's easy to work around the static check and then run into the miri-engine check.
Configuration menu - View commit details
-
Copy full SHA for 41fb84e - Browse repository at this point
Copy the full SHA 41fb84eView commit details -
Rollup merge of rust-lang#66338 - ehuss:update-mdbook, r=alexcrichton
Update mdbook. This brings in some important updates to fix some rendering issues in the books. In particular fixing hidden lines in code blocks, and some escaping issues. More details at https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md This also requires updating mdbook-linkcheck.
Configuration menu - View commit details
-
Copy full SHA for 8405fc6 - Browse repository at this point
Copy the full SHA 8405fc6View commit details -
Rollup merge of rust-lang#66388 - estebank:melt-ice, r=Centril
Do not ICE on recovery from unmet associated type bound obligation Fix rust-lang#66353. r? @Centril
Configuration menu - View commit details
-
Copy full SHA for c8d8f52 - Browse repository at this point
Copy the full SHA c8d8f52View commit details -
Rollup merge of rust-lang#66390 - estebank:parenice, r=Centril
Fix ICE when trying to suggest `Type<>` instead of `Type()` Fixes rust-lang#66286, but the output has no span: ``` error[E0214]: parenthesized type parameters may only be used with a `Fn` trait error: aborting due to previous error For more information about this error, try `rustc --explain E0214`. ```
1Configuration menu - View commit details
-
Copy full SHA for 1baa772 - Browse repository at this point
Copy the full SHA 1baa772View commit details -
Rollup merge of rust-lang#66391 - estebank:if-else-async-ice, r=Centril
Do not ICE in `if` without `else` in `async fn` Fix rust-lang#66387.
Configuration menu - View commit details
-
Copy full SHA for c5b6dce - Browse repository at this point
Copy the full SHA c5b6dceView commit details -
Rollup merge of rust-lang#66398 - sfackler:no-async-nesting, r=Centril
Remove some stack frames from `.async` calls The `Context` argument is currently smuggled through TLS for async-generated futures. The current infrastructure is closure-based, and results in an extra 6 stack frames when .awaiting an async-generated future! ``` 12: foo::async_b::{{closure}} at src/main.rs:10 13: <std::future::GenFuture<T> as core::future::future::Future>::poll::{{closure}} at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:43 14: std::future::set_task_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:79 15: <std::future::GenFuture<T> as core::future::future::Future>::poll at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:43 16: std::future::poll_with_tls_context::{{closure}} at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:121 17: std::future::get_task_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:111 18: std::future::poll_with_tls_context at /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libstd/future.rs:121 19: foo::async_a::{{closure}} at src/main.rs:6 ``` While the long (medium?) term solution is to remove the use of TLS entirely, we can improve things a bit in the meantime. In particular, this commit does 2 things: 1. `get_task_context` has been inlined into `poll_with_tls_context`, removing 2 frames (16 and 17 above). 2. `set_task_context` now returns a guard type that resets the TLS rather than taking a closure, removing 2 frames (13 and 14 above). We can also remove frame 18 by removing `poll_with_tls_context` in favor of a `get_task_context` function which returns a guard, but that requires adjusting the code generated for .await, so I've left that off for now.
Configuration menu - View commit details
-
Copy full SHA for 1f43824 - Browse repository at this point
Copy the full SHA 1f43824View commit details -
Rollup merge of rust-lang#66410 - RalfJung:miri-machine-max, r=oli-obk
miri: helper methods for max values of machine's usize/isize We recently wanted this in Miri. r? @oli-obk
Configuration menu - View commit details
-
Copy full SHA for e4d5f05 - Browse repository at this point
Copy the full SHA e4d5f05View commit details -
Rollup merge of rust-lang#66418 - ecstatic-morse:hir-const-check-err-…
…msg, r=estebank Link to tracking issue in HIR const-check error code description This is a follow up to rust-lang#66170 that addresses [this comment](rust-lang#66170 (comment)). As an aside, the only other error code whose description uses the phrase "tracking issue" is `E0202`. We may want to come up with standards around this, especially since error codes are now centralized and easier to keep track of (thanks @GuillaumeGomez). r? @estebank (since they +1'ed the comment)
Configuration menu - View commit details
-
Copy full SHA for 10a112c - Browse repository at this point
Copy the full SHA 10a112cView commit details -
Rollup merge of rust-lang#66419 - JohnTitor:ignore-underscore, r=varkor
Don't warn labels beginning with `_` on unused_labels lint Fixes rust-lang#66382 r? @varkor
Configuration menu - View commit details
-
Copy full SHA for 26eb909 - Browse repository at this point
Copy the full SHA 26eb909View commit details -
Rollup merge of rust-lang#66428 - dns2utf8:cleanup_unused_function, r…
…=GuillaumeGomez Cleanup unused function The argument was not used. r? @GuillaumeGomez
Configuration menu - View commit details
-
Copy full SHA for a173353 - Browse repository at this point
Copy the full SHA a173353View commit details