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 20170928 #44907

Closed
wants to merge 47 commits into from
Closed

Beta 20170928 #44907

wants to merge 47 commits into from

Conversation

nikomatsakis
Copy link
Contributor

Backports of:

arielb1 and others added 30 commits August 27, 2017 20:03
This allows caching closure signatures and kinds in the normal selection
and evaluation caches, and fixes the exponential worst-case in
@remram44's example, which is a part of rust-lang#43787.

This improvement is complenentary to rust-lang#43999 - they fix different cases.
[beta] Track closure signatures & kinds in freshened types

This allows caching closure signatures and kinds in the normal selection
and evaluation caches, and fixes the exponential worst-case in
@remram44's example, which is a part of rust-lang#43787.

This improvement is complenentary to rust-lang#43999 - they fix different cases.

This is the pre-generators variation of rust-lang#43938, cloned for beta.
RLS on beta

Reverts the RLS backout commit, updates the RLS to the beta branch (which includes a relative path dep for Cargo and sets the version to 0.121, plus fixes a bug I was having running tests on the beta branch), and backports rust-lang#44141 (renaming rls component to rls-preview).

r? @alexcrichton
This commit flags all allocation-related functions in liballoc as "this can't
unwind" which should largely resolve the size-related issues found on rust-lang#42808.
The documentation on the trait was updated with such a restriction (they can't
panic) as well as some other words about the relative instability about
implementing a bullet-proof allocator.

Closes rust-lang#42808
The crate itself is internally referenced by serde_derive.
No need to depend on librustc! All we need is libstd

Closes rust-lang#44140
No need to use dev any more!
[beta] Boostrap from released compilers

No need to use dev any more!

Also contains backports for:

* rust-lang#44049
* rust-lang#44121
* rust-lang#44144
The default install used to include rustc, rust-std, and rust-docs, but
the refactoring in commit 6b3413d make rustc only default in
extended builds.  This commit makes rustc installed by default again.
Haven't done this in awhile so seems like a good idea!
Travis is in the process of [rolling out an update][update] but looks like our
tests are breaking, let's temporarily roll back to get the queue moving again.

[update]: https://blog.travis-ci.com/2017-08-29-trusty-image-updates
In rust-lang#42436 the behavior for spawning processes on Windows was tweaked slightly to
fix various bugs, but this caused rust-lang#42791 as a regression, namely that to spawn
batch scripts they need to be manually spawned with `cmd /c` instead now. This
updates the compiler to handle this case explicitly for Emscripten.

Closes rust-lang#42791
It's going to be backported to beta.
[beta] Attempt to fix the component manifest problem for rls-preview

cc rust-lang#44270

see rust-lang#44352
Most of the other rust-lang buckets are in us-west-1 and I think the original
bucket was just accidentally created in the us-east-1 region. Let's consolidate
by moving it to the same location as the rest of our buckets.
updated clippy and rls as it uses the iterator_for_each
budziq and others added 17 commits September 24, 2017 22:57
Moving buckets from us-east-1 to us-west-1 because us-west-1 is where
rust-central-station itself runs and in general is where we have all our other
buckets.
This includes the following stabilizations:

- tcpstream_connect_timeout rust-lang#44563
- iterator_for_each rust-lang#44567
- ord_max_min rust-lang#44593
- compiler_fences rust-lang#44595
- needs_drop rust-lang#44639
- vec_splice rust-lang#44640
I backported the stabilization of Vec::splice and the move of
String::splice to the new tracking issue, but not the new signature of
String::splice in 1.22. This combination requires updating the tracking
issue on some code that no longer exists in nightly.
[beta] Backport accepted PRs to 1.21

Backport of:

- ~don't suggest placing `use` statements into expanded code rust-lang#44215
- stabilize tcpstream_connect_timeout rust-lang#44563
- stabilized iterator_for_each rust-lang#44567
- travis: Move sccache to the us-west-1 region rust-lang#44574
- stabilized ord_max_min rust-lang#44593
- stabilized compiler_fences rust-lang#44595
- ci: Upload/download from a new S3 bucket rust-lang#44617
- stabilized needs_drop rust-lang#44639
- Stabilized vec_splice and modified splice tracking issue rust-lang#44640
- Backport libs stabilizations to 1.21 beta rust-lang#44824
This is a partial revert of rust-lang#42588. There is a usability concern
reported in rust-lang#44294 that was not considered in the discussion of the PR,
so I would like to back this out of 1.21. As is, I think users would
have a worse and more confusing experience with this lint enabled by
default. We can re-enabled once there are better diagnostics or the case
in rust-lang#44294 does not trigger the lint.
This boolean field on the error `Handler` is toggled to silence
warnings when `-A warnings` is passed. (This is actually a separate
mechanism from the global lint level—whether there's some redundancy
to be factored away here is an important question, but not one we
concern ourselves with in this commit.)  But the same rationale
applies for `--cap-lints allow`. In particular, this makes the "soft"
feature-gate warning introduced in 8492ad2 (which is not a lint, but
just calls `struct_span_warn`) not pollute the builds of dependent
crates.

Thanks to @kennytm for pointing out the potential of
`can_emit_warnings` for this purpose.

Resolves rust-lang#44213.
Brings in a few fixes for wasm/asmjs
After a projection was processed, its derived subobligations no longer
need any processing when encountered, and can be removed. This improves
the status of rust-lang#43787.

This is actually complementary to rust-lang#43938 - that PR fixes selection
caching (and @remram44's example, which "accidentally" worked because of
the buggy projection caching) while this PR fixes projection caching
Keep **all** the obligations for every projection is wasteful of
memory and compilation time. We only really care about those
subobligations that may inform the result of the projection (i.e., may
help to resolve any inference variables that appear within).
Therefore, we can clear the subobligations from the cache that don't
potentially affect the result of the projection. On every cache hit,
we also take the opportunity to check if the type variables have been
resolved *yet* and, if so, clear out the pending obligations.

Fixes rust-lang#43613
@rust-highfive
Copy link
Collaborator

r? @arielb1

(rust_highfive has picked a reviewer for you, use r? to override)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.