-
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 #66436
Rollup of 12 pull requests #66436
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
-
Configuration menu - View commit details
-
Copy full SHA for 37de933 - Browse repository at this point
Copy the full SHA 37de933View commit details -
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 92154d0 - Browse repository at this point
Copy the full SHA 92154d0View 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 0c52c3e - Browse repository at this point
Copy the full SHA 0c52c3eView 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
Commits on Nov 15, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 3bd5226 - Browse repository at this point
Copy the full SHA 3bd5226View commit details -
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 006c62d - Browse repository at this point
Copy the full SHA 006c62dView 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 c858c63 - Browse repository at this point
Copy the full SHA c858c63View 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 b3fec2b - Browse repository at this point
Copy the full SHA b3fec2bView 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 c5e6692 - Browse repository at this point
Copy the full SHA c5e6692View 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 180de59 - Browse repository at this point
Copy the full SHA 180de59View 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`. ```
Configuration menu - View commit details
-
Copy full SHA for 1452a83 - Browse repository at this point
Copy the full SHA 1452a83View 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 b13272f - Browse repository at this point
Copy the full SHA b13272fView commit details -
Rollup merge of rust-lang#66394 - wesleywiser:fix_oom, r=oli-obk
Fix two OOM issues related to `ConstProp` Fixes rust-lang#66342 Fixes rust-lang#66397 r? @oli-obk
Configuration menu - View commit details
-
Copy full SHA for 4081586 - Browse repository at this point
Copy the full SHA 4081586View 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 134d248 - Browse repository at this point
Copy the full SHA 134d248View 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 65873cc - Browse repository at this point
Copy the full SHA 65873ccView 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 fc8a76e - Browse repository at this point
Copy the full SHA fc8a76eView 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 175f296 - Browse repository at this point
Copy the full SHA 175f296View commit details