Skip to content
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

[beta] Rollup backports #57305

Merged
merged 16 commits into from
Jan 4, 2019
Merged

[beta] Rollup backports #57305

merged 16 commits into from
Jan 4, 2019

Conversation

pietroalbini
Copy link
Member

@pietroalbini pietroalbini commented Jan 3, 2019

Cherry-picked:

Rolled up:

r? @ghost

ehuss and others added 4 commits January 2, 2019 15:49
Beta backport of a fix that already was backported to stable,
see rust-lang#56726 and
rust-lang/rls#1170 for the underlying RLS issue.

Also includes the fix for rust-lang/rls#1154
(respecting target-dir specified in .cargo/config for RLS artifacts).
We need to reduce the alignment with the used offset. If the offset
isn't known, we need to reduce with the element size to support
arbitrary offsets.
@pietroalbini
Copy link
Member Author

@bors r+ p=10

@bors
Copy link
Contributor

bors commented Jan 3, 2019

📌 Commit 01a9d54cc9f9ec25c91b12f9d6ab787d063ef6ca has been approved by pietroalbini

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 3, 2019
@rust-highfive

This comment has been minimized.

@pietroalbini
Copy link
Member Author

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 3, 2019
@ehuss
Copy link
Contributor

ehuss commented Jan 3, 2019

Can you include #57292?

petrochenkov and others added 12 commits January 4, 2019 00:17
Fixes rust-lang#50159

This commit makes several improvements to AutoTraitFinder:

* Call infcx.resolve_type_vars_if_possible before processing new
predicates. This ensures that we eliminate inference variables wherever
possible.
* Process all nested obligations we get from a vtable, not just ones
with depth=1.
  * The 'depth=1' check was a hack to work around issues processing
certain predicates. The other changes in this commit allow us to
properly process all predicates that we encounter, so the check is no
longer necessary,
* Ensure that we only display predicates *without* inference variables
to the user, and only attempt to unify predicates that *have* an
inference variable as their type.

Additionally, the internal helper method is_of_param now operates
directly on a type, rather than taking a Substs. This allows us to use
the 'self_ty' method, rather than directly dealing with Substs.
If we end up with a projection predicate that equates a type with
itself (e.g. <T as MyType>::Value == <T as MyType>::Value), we can
run into issues if we try to add it to our ParamEnv.
Commit f57247c (Ensure that Rusdoc discovers all necessary auto
trait bounds) added a check to ensure that we only attempt to unify a
projection predicatre with inference variables. However, the check it
added was too strict - instead of checking that a type *contains* an
inference variable (e.g. '&_', 'MyType<_>'), it required the type to
*be* an inference variable (i.e. only '_' would match).

This commit relaxes the check to use 'ty.has_infer_types', ensuring that
we perform unification wherever possible.

Fixes rust-lang#56822
@pietroalbini
Copy link
Member Author

@ehuss done!

@bors r+ p=10

@bors
Copy link
Contributor

bors commented Jan 3, 2019

📌 Commit 443165d has been approved by pietroalbini

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jan 3, 2019
@bors
Copy link
Contributor

bors commented Jan 4, 2019

⌛ Testing commit 443165d with merge e64fee6...

bors added a commit that referenced this pull request Jan 4, 2019
[beta] Rollup backports

Cherry-picked:

* #57053: Fix alignment for array indexing
* #57181: resolve: Fix another ICE in import validation
* #57185: resolve: Fix one more ICE in import validation
* #57282: Wf-check the output type of a function in MIR-typeck
* #55318: Ensure that Rustdoc discovers all necessary auto trait bounds
* #56838: Call poly_project_and_unify_type on types that contain inference types

Rolled up:

* #57300: [beta] Update RLS to include 100% CPU on hover bugfix
* #57301: beta: bootstrap from latest stable (1.31.1)
* #57292: [BETA] Update cargo

r? @ghost
@bors
Copy link
Contributor

bors commented Jan 4, 2019

☀️ Test successful - status-appveyor, status-travis
Approved by: pietroalbini
Pushing e64fee6 to beta...

@bors bors merged commit 443165d into rust-lang:beta Jan 4, 2019
@pietroalbini pietroalbini deleted the beta-rollup branch January 4, 2019 12:32
@ehuss ehuss mentioned this pull request Jan 4, 2019
bors added a commit that referenced this pull request Jan 7, 2019
Bump stage0

Updates stage 0
From: rustc 1.32.0-beta.2 (a01e476 2018-12-08)
To:   rustc 1.32.0-beta.11 (e64fee6 2019-01-04)

Intended to pull in #57292 which will fix #57142.

The following is a list of PRs this also pulls in in case anyone is interested in seeing the changes:

#56930
#56961
#57236
#57305
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.