-
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 9 pull requests #66421
Rollup of 9 pull requests #66421
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 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 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 f37f423 - Browse repository at this point
Copy the full SHA f37f423View 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 6c9ba97 - Browse repository at this point
Copy the full SHA 6c9ba97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a49b52 - Browse repository at this point
Copy the full SHA 6a49b52View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d8e300 - Browse repository at this point
Copy the full SHA 6d8e300View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e8e176 - Browse repository at this point
Copy the full SHA 0e8e176View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa6a72f - Browse repository at this point
Copy the full SHA aa6a72fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e31d75c - Browse repository at this point
Copy the full SHA e31d75cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 89b5907 - Browse repository at this point
Copy the full SHA 89b5907View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75aaa85 - Browse repository at this point
Copy the full SHA 75aaa85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b663ec - Browse repository at this point
Copy the full SHA 8b663ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 03cf0d7 - Browse repository at this point
Copy the full SHA 03cf0d7View 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 c0a0a7d - Browse repository at this point
Copy the full SHA c0a0a7dView 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 d4429ad - Browse repository at this point
Copy the full SHA d4429adView commit details -
Rollup merge of rust-lang#66197 - Centril:transparent-ast, r=varkor
Push `ast::{ItemKind, ImplItemKind}::OpaqueTy` hack down into lowering We currently have a hack in the form of `ast::{ItemKind, ImplItemKind}::OpaqueTy` which is constructed literally when you write `type Alias = impl Trait;` but not e.g. `type Alias = Vec<impl Trait>;`. Per rust-lang/rfcs#2515, this needs to change to allow `impl Trait` in nested positions. This PR achieves this change for the syntactic aspect but not the semantic one, which will require changes in lowering and def collection. In the interim, `TyKind::opaque_top_hack` is introduced to avoid knock-on changes in lowering, collection, and resolve. These hacks can then be removed and fixed one by one until the desired semantics are supported. r? @varkor
Configuration menu - View commit details
-
Copy full SHA for 959950c - Browse repository at this point
Copy the full SHA 959950cView 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 0e2c3e3 - Browse repository at this point
Copy the full SHA 0e2c3e3View 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 93678c4 - Browse repository at this point
Copy the full SHA 93678c4View 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 632a5c6 - Browse repository at this point
Copy the full SHA 632a5c6View commit details -
Rollup merge of rust-lang#66396 - smmalis37:pythontest, r=alexcrichton
Make a test compatible across python versions. Progress on rust-lang#65063 This PR allows this test to work on both python2 and python3, and it also allows `./x.py test` to fully complete on my system without python2 installed at all.
Configuration menu - View commit details
-
Copy full SHA for dffc6e0 - Browse repository at this point
Copy the full SHA dffc6e0View 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 7cd3ccf - Browse repository at this point
Copy the full SHA 7cd3ccfView 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 f582340 - Browse repository at this point
Copy the full SHA f582340View 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 c029bc5 - Browse repository at this point
Copy the full SHA c029bc5View commit details