Skip to content

Rollup of 14 pull requests - #39551

Closed
frewsxcv wants to merge 47 commits into
rust-lang:masterfrom
frewsxcv:rollup
Closed

Rollup of 14 pull requests#39551
frewsxcv wants to merge 47 commits into
rust-lang:masterfrom
frewsxcv:rollup

Conversation

chris-morganand 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.
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!
Closesrust-lang#39476
This commit deletes the old build system located in the `mk` folder as it's now
been obsoleted for two cycles and is replaced by rustbuild.
This commit deletes swaths of the configure script related to the old build
system which are now no longer needed when using rustbuild.
We no longer need these builders as we're no longer testing the old build
system.
These are all now no longer needed that we've only got rustbuild in tree.
Some of these have long since expired, some are no longer in use now that we've
jettisoned the makefiles, but none of them should be needed any more.
alexcrichtonand others added 17 commits February 4, 2017 11:26
Now that the makefiles are gone this is the new source of truth for all
versioning of releases!
Don't re-run tests in compiletest if all the inputs haven't changed, manage
stamp files in the output directory.
These methods enable socket reads without side-effects. That is,
repeated calls to peek() return identical data. This is accomplished
by providing the POSIX flag MSG_PEEK to the underlying socket read
operations.
This also moves the current implementation of recv_from out of the
platform-independent sys_common and into respective sys/windows and
sys/unix implementations. This allows for more platform-dependent
implementations.
Expand documentation of process::exit and exec
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.
…ymlink-creation, r=alexcrichton
Support unprivileged symlink creation in Windows
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. (It’s unclear from what Microsoft has said whether Developer Mode will be required in the final Creators Update release, but sadly I expect it still will be, so this *still* won’t be as helpful as I’d like.)
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.
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.
Add 128-bit atomics
This is currently only supported on AArch64 since that is the only target which unconditionally supports 128-bit atomic operations.
cc rust-lang#35118
Add peek APIs to std::net
Adds "peek" APIs to `std::net` sockets, including:
- `UdpSocket.peek()`
- `UdpSocket.peek_from()`
- `TcpStream.peek()`
These methods enable socket reads without side-effects. That is, repeated calls to `peek()` return identical data. This is accomplished by providing the POSIX flag `MSG_PEEK` to the underlying socket read operations.
This also moves the current implementation of `recv_from` out of the platform-independent `sys_common` and into respective `sys/windows` and `sys/unix` implementations. This allows for more platform-dependent implementations where necessary.
Fixesrust-lang#38980
…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).
…rson
Delete the makefile build system
This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.
Rustbuild has been the default build system [since 1.15.0](rust-lang#37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.
And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
…, r=nikomatsakis
Don't suggest to use things which weren't found either
Fixesrust-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
fixesrust-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 (fixesrust-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!
Closesrust-lang#39476
@rust-highfive

Copy link
Copy Markdown
Contributor

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @BurntSushi (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.

@frewsxcv

Copy link
Copy Markdown
ContributorAuthor

@bors p=10 r+

@bors

bors commented Feb 5, 2017

Copy link
Copy Markdown
Collaborator

📌 Commit 4107a84 has been approved by frewsxcv

@bors

bors commented Feb 5, 2017

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 4107a84 with merge 6b43d7f...

@bors

bors commented Feb 5, 2017

Copy link
Copy Markdown
Collaborator

💔 Test failed - status-travis

@frewsxcvfrewsxcv closed this Feb 5, 2017
@frewsxcv
frewsxcv deleted the rollup branch February 5, 2017 13:23
@CentrilCentril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

16 participants

@frewsxcv@rust-highfive@bors@BurntSushi@Centril@chris-morgan@Amanieu@llogiq@nagisa@abonander@phungleson@djc@jimmycuadra@alexcrichton@canndrew@king6cong