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

Rollup of 19 pull requests #39563

Merged
merged 56 commits into from
Feb 5, 2017
Merged

Rollup of 19 pull requests #39563

merged 56 commits into from
Feb 5, 2017

Conversation

chris-morgan and others added 30 commits January 9, 2017 08:15
Symlink creation on Windows has in the past basically required admin;
it’s being opened up a bit in the Creators Update, so that at least
people who have put their computers into Developer Mode will be able to
create symlinks without special privileges. (Microsoft are being
cautious about it all; the Developer Mode requirement makes it so that
it this won’t be as helpful as I’d like, but it’s still an improvement
over requiring admin.)

Because of compatibility concerns, they’ve hidden this new functionality
behind a new flag in the CreateSymbolicLink dwFlags:
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE. So we add this flag in
order to join the party.

Older Windows doesn’t like this new flag, though, so if we encounter
ERROR_INVALID_PARAMETER we try again without the new flag.

Sources:

- https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/
  is the official announcement (search for CreateSymbolicLink)

- https://news.ycombinator.com/item?id=13096354 on why the new flag.

- https://twitter.com/richturn_ms/status/818167548269051905 confirming
  that Developer Mode will still be required.
Show a conventional way to use process::exit when destructors are considered important and also
mention that the same caveats wrt destructors apply to exec as well.
rustdoc would output the full path to the binary when calling it with
the `-h` or `--help` flags. This is undesired behavior. It has been
replaced with a hardcoded string `rustdoc` to fix the issue.

Fixes rust-lang#39310
The versions show up in rustdoc.
Although signatures with anonymous parameters may not be deprecated or
removed at this point, the team seems to agree that the ability to have
an anonymous parameter is unfortunate historical baggage, and that we
shouldn't create new code that uses it.

Context: rust-lang#33417 (comment)
We should be sure to add our build system entry point!

Closes rust-lang#39476
…ikomatsakis

Add warning for () to ! switch

With feature(never_type) enabled diverging type variables will default to `!` instead of `()`. This can cause breakages where a trait is resolved on such a type.

This PR emits a future-compatibility warning when it sees this happen.
…lexcrichton

branchless .filter(_).count()

I found that the branchless version is only slower if we have little to no branch misses, which usually isn't the case. I notice speedups between -5% (perfect prediction) and 60% (real world data).
…xcrichton

Tell emscripten to remove exception handling code when panic=abort

Fixes rust-lang#36900
Provide Entry-like API for Option

This implements rust-lang#39288.

I am wondering whether to use std::intrinsics::unreachable!() here. Both seems fine to me (the second match optimizes away in release mode).
…richton

Fix full path being output with `rustdoc -h`

rustdoc would output the full path to the binary when calling it with
the `-h` or `--help` flags. This is undesired behavior. It has been
replaced with a hardcoded string `rustdoc` to fix the issue.

Fixes rust-lang#39310
Fix a few impl stability attributes

The versions show up in rustdoc.
…eyfried

Expand derive macros in the MacroExpander

This removes the expand_derives function, and sprinkles the functionality throughout the Invocation Collector, Expander and Resolver.

Fixes rust-lang#39326

r? @jseyfried
…, r=nikomatsakis

Don't suggest to use things which weren't found either

Fixes rust-lang#38054

The best code I can come up with, suggestions are welcome.

Basically, removing ```. Did you mean to use `DoesntExist1`?``` in the code below, because it is useless.

```rust
error[E0432]: unresolved import `DoesntExist1`
 --> src/lib.rs:1:5
  |
1 | use DoesntExist1;
  |     ^^^^^^^^^^^^ no `DoesntExist1` in the root

error[E0432]: unresolved import `DoesntExist2`
 --> src/lib.rs:2:5
  |
2 | use DoesntExist2;
  |     ^^^^^^^^^^^^ no `DoesntExist2` in the root. Did you mean to use `DoesntExist1`?
```
save-analysis: be more paranoid about generated paths

fixes rust-lang/rls#160
…, r=jseyfried

Change tracking issue for `proc_macro` feature to rust-lang#38356

r? @jseyfried
Fix bootstrap.py issues with new rustbuild build system (fixes rust-lang#39469)
…, r=alexcrichton

Add a name for the parameter to `TryFrom::try_from`.

Although signatures with anonymous parameters may not be deprecated or removed at this point, the team seems to agree that the ability to have an anonymous parameter is unfortunate historical baggage, and that we shouldn't create new code that uses it.

Context: rust-lang#33417 (comment)
rustbuild: Add x.py to source tarballs

We should be sure to add our build system entry point!

Closes rust-lang#39476
…ilization_version, r=petrochenkov

correct version in which more_struct_aliases was/will be stable

The stabilizing commit is 5056a43, which is not in 1.14, but is (at
time of writing) on the 1.16 beta branch. [See discussion](rust-lang#39282 (comment)).
@frewsxcv
Copy link
Member Author

frewsxcv commented Feb 5, 2017

@bors r+ p=50

@bors
Copy link
Contributor

bors commented Feb 5, 2017

📌 Commit 0a09274 has been approved by frewsxcv

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @brson (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@bors
Copy link
Contributor

bors commented Feb 5, 2017

⌛ Testing commit 0a09274 with merge 9c8cdb2...

bors added a commit that referenced this pull request Feb 5, 2017
@bors
Copy link
Contributor

bors commented Feb 5, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: frewsxcv
Pushing 9c8cdb2 to master...

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.