Skip to content

Rollup of 17 pull requests - #48104

Closed
kennytm wants to merge 37 commits into
rust-lang:masterfrom
kennytm:rollup
Closed

Rollup of 17 pull requests#48104
kennytm wants to merge 37 commits into
rust-lang:masterfrom
kennytm:rollup

Conversation

tinaunand others added 30 commits January 26, 2018 18:52
unlike the other Parse*Error types, ParseCharError didn't have these implemented for whatever reason
Currently if `--out-dir` is set to a non-existent directory, the
compiler will throw unfriendly messages like `error: could not write
output to subdir/example.crate.allocator.rcgu.o: No such file or
directory`, which, while not completely unreadable, isn’t very
user-friendly either. This change creates the directory automatically
if it does not yet exist.
Commit 7ed00ca improved our error reporting by including the target
function in our error messages when there is an argument count mismatch.
A simple example from the UI tests is:
```
error[E0593]: function is expected to take a single 2-tuple as argument, but it takes 0 arguments
--> $DIR/closure-arg-count.rs:32:53
|
32 | let _it = vec![1, 2, 3].into_iter().enumerate().map(foo);
| ^^^ expected function that takes a single 2-tuple as argument
...
44 | fn foo() {}
| -------- takes 0 arguments
```
However, this assumed the target span was always available. This does
not hold true if the target function is in `std` or another crate. A
simple example from rust-lang#48046 is assigning `str::split` to a function type
with a different number of arguments.
Fix by removing all of the labels and suggestions related to the target
span when it's not found.
Fixesrust-lang#48046
Unfortunately left out it means that when the `#![feature(proc_macro)]` flag is
in effect it fails to find `rustc_args_required_const` for expansion. This
version, however, is verified to work with stdsimd's requirements!
This commit disallows acquiring a function pointer to functions tagged as
`#[rustc_args_required_const]`. This is intended to be used as future-proofing
for the stdsimd crate to avoid taking a function pointer to any intrinsic which
has a hard requirement that one of the arguments is a constant value.
Right now the ccache setting is only used for LLVM, but this tweaks it to also
be used for build scripts so C++ builds like `librustc_llvm` can be a bit
speedier.
A bug was recently fixed in dlmalloc which meant that released memory to the
system accidentally wasn't getting reused, causing programs to be far slower
than they should be!
Various versions of LLVM do various things with debuginfo but we're most curious
that our own code is working so let's just disable optimizations in this test to
ensure we have as much pristine debuginfo as possible.
Eventually the LLVM version of Emscripten and the main LLVM will diverge, and we
can't cross-compile an older version of LLVM using a newer version of LLVM's
`llvm-config`.
Right now the `--build` option was accidentally omitted, so we're bootstraping
from `x86_64` to `i686`. In addition to being slower (more compiles) that's not
actually bootstrapping!
derive PartialEq and Eq for `ParseCharError`
unlike the other Parse*Error types, ParseCharError didn't have these implemented for whatever reason
…, r=nikomatsakis
Remove unused data structures
Cleanup; as far as I can tell the compiler no longer uses these.
Create a directory for --out-dir if it does not already exist
Currently if `--out-dir` is set to a non-existent directory, the compiler will throw unfriendly messages like `error: could not write output to subdir/example.crate.allocator.rcgu.o: No such file or
directory`, which, while not completely unreadable, isn’t very user-friendly either. This change creates the directory automatically if it does not yet exist.
…lexcrichton
Customizable extended tools
This PR adds `build.tools` option to manage installation of extended rust tools.
By default it doesn't change installation. All tools are built and `rls` and `rustfmt` allowed to fail installation.
If some set of tools chosen only those tools are built and installed without any fails allowed.
It solves some slotting issues with extended build enabled: https://bugs.gentoo.org/show_bug.cgi?id=645498
…-on-target-without-span, r=estebank
Fix ICE for mismatched args on target without span
Commit 7ed00ca improved our error reporting by including the target function in our error messages when there is an argument count mismatch. A simple example from the UI tests is:
```
error[E0593]: function is expected to take a single 2-tuple as argument, but it takes 0 arguments
--> $DIR/closure-arg-count.rs:32:53
|
32 | let _it = vec![1, 2, 3].into_iter().enumerate().map(foo);
| ^^^ expected function that takes a single 2-tuple as argument
...
44 | fn foo() {}
| -------- takes 0 arguments
```
However, this assumed the target span was always available. This does not hold true if the target function is in `std` or another crate. A simple example from rust-lang#48046 is assigning `str::split` to a function type with a different number of arguments.
Fix by omitting all of the labels and suggestions related to the target span when it's not found.
Fixesrust-lang#48046
r? @estebank
…uietMisdreavus
rustdoc: Hide `-> ()` in cross crate inlined Fn* bounds
…lacrum
rustbuild: Pass `ccache` to build scripts
Right now the ccache setting is only used for LLVM, but this tweaks it to also
be used for build scripts so C++ builds like `librustc_llvm` can be a bit
speedier.
…Misdreavus
intra-doc-links: bail early for linky things
r? @QuietMisdreavus
…-proc-macro, r=eddyb
Disallow function pointers to #[rustc_args_required_const]
This commit disallows acquiring a function pointer to functions tagged as
`#[rustc_args_required_const]`. This is intended to be used as future-proofing
for the stdsimd crate to avoid taking a function pointer to any intrinsic which
has a hard requirement that one of the arguments is a constant value.
Note that the first commit here isn't related specifically to this feature, but was necessary to get this working in stdsimd!
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @pnkfelix

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

@kennytm

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=17

@bors

bors commented Feb 9, 2018

Copy link
Copy Markdown
Collaborator

📌 Commit 4cf8ce7 has been approved by kennytm

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 9, 2018
@kennytm

Copy link
Copy Markdown
MemberAuthor

@bors r+

Added #48101.

@bors

bors commented Feb 9, 2018

Copy link
Copy Markdown
Collaborator

📌 Commit 050a707 has been approved by kennytm

@kennytmkennytm changed the title Rollup of 17 pull requestsRollup of 18 pull requestsFeb 9, 2018
@kennytmkennytm changed the title Rollup of 18 pull requestsRollup of 17 pull requestsFeb 9, 2018
@kennytm

Copy link
Copy Markdown
MemberAuthor

@bors r+

Removed #48100 (comment)

@bors

bors commented Feb 9, 2018

Copy link
Copy Markdown
Collaborator

📌 Commit 878e701 has been approved by kennytm

@bors

bors commented Feb 9, 2018

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 878e701 with merge 394ccaf...

bors added a commit that referenced this pull request Feb 9, 2018
@bors

bors commented Feb 10, 2018

Copy link
Copy Markdown
Collaborator

💔 Test failed - status-travis

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 10, 2018
@estebank

Copy link
Copy Markdown
Contributor

@bors retry

[02:11:21] �[m�[m�[32m�[1m Running�[m build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps/alloc-b0e10857ffbb389e
...
[02:12:24] test net::tcp::tests::clone_while_reading ... test net::tcp::tests::clone_while_reading has been running for over 60 seconds
[02:12:44] thread '<unnamed>' panicked at 'received error for `TcpStream::connect(&addr)`: Operation timed out (os error 60)', libstd/net/tcp.rs:1382:31
No output has been received in the last 30m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received
The build has been terminated

@borsbors 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-review Status: Awaiting review from the assignee but also interested parties. labels Feb 10, 2018
@estebank

Copy link
Copy Markdown
Contributor

@bors r+

@bors

bors commented Feb 10, 2018

Copy link
Copy Markdown
Collaborator

💡 This pull request was already approved, no need to approve it again.

@bors

bors commented Feb 10, 2018

Copy link
Copy Markdown
Collaborator

📌 Commit 878e701 has been approved by estebank

@bors

bors commented Feb 10, 2018

Copy link
Copy Markdown
Collaborator

🔒 Merge conflict

@borsbors 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 Feb 10, 2018
@bors

bors commented Feb 10, 2018

Copy link
Copy Markdown
Collaborator

☔ The latest upstream changes (presumably #47828) made this pull request unmergeable. Please resolve the merge conflicts.

@kennytmkennytm closed this Feb 10, 2018
@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 rollupS-waiting-on-authorStatus: This is awaiting some action (such as code changes or more information) from the author.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@kennytm@rust-highfive@bors@estebank@pnkfelix@Centril@tinaun@Mark-Simulacrum@varkor@o01eg@etaoins@ollie27@cuviper@Manishearth@alexcrichton@GuillaumeGomez@Zoxc