Commit Graph

104045 Commits

Author SHA1 Message Date
Mazdak Farrokhzad 9f39cb1d8e
Rollup merge of #67367 - 0dvictor:options, r=Centril
Move command line option definitions into a dedicated file

config.rs has reached the 3000 line tidy limit, this commit moves command line option definitions into a new file - options.rs,  and leaves the rest of configuration infrastructure in config.rs.
2019-12-20 12:17:26 +01:00
Mazdak Farrokhzad efd31c23e8
Rollup merge of #67328 - rkruppe:simplify-u128-f32-cast, r=matthewjasper
Remove now-redundant range check on u128 -> f32 casts

This code was added to avoid UB in LLVM 6 and earlier, but we no longer support those LLVM versions.
Since https://reviews.llvm.org/D47807 (released in LLVM 7), uitofp does exactly what we need.

Closes #51872
2019-12-20 12:17:25 +01:00
Mazdak Farrokhzad 403bb097fc
Rollup merge of #67285 - ohadravid:indicate-origin-of-where-type-parameter, r=estebank
Indicate origin of where type parameter for uninferred types

Based on #65951 (which is not merge yet), fixes #67277.

This PR improves a little the diagnostic for code like:

```
 async fn foo() {
     bar().await;
}

 async fn bar<T>() -> () {}
```

by showing:
```
error[E0698]: type inside `async fn` body must be known in this context
 --> unresolved_type_param.rs:9:5
  |
9 |     bar().await;
  |     ^^^ cannot infer type for type parameter `T` declared on the function `bar`
  |
...
```
(The
```
declared on the function `bar`
```
part is new)

A small side note: `Vec` and `slice` seem to resist this change, because querying `item_name()` panics, and `get_opt_name()` returns `None`.

r? @estebank
2019-12-20 12:17:23 +01:00
Mazdak Farrokhzad b779cbbe68
Rollup merge of #67219 - jsgf:command-argv0-debug, r=joshtriplett
Fix up Command Debug output when arg0 is specified.

PR https://github.com/rust-lang/rust/pull/66512 added the ability to set argv[0] on
Command. As a side effect, it changed the Debug output to print both the program and
argv[0], which in practice results in stuttery output (`"echo" "echo" "foo"`).

This PR reverts the behaviour to the the old one, so that the command is only printed
once - unless arg0 has been set. In that case it emits `"[command]" "arg0" "arg1" ...`.
2019-12-20 12:17:22 +01:00
Mazdak Farrokhzad f0eb4b4752
Rollup merge of #67127 - estebank:disambiguate-suggestion, r=varkor
Use structured suggestion for disambiguating method calls

Fix #65635.
2019-12-20 12:17:20 +01:00
Mazdak Farrokhzad 57da9d3269
Rollup merge of #66755 - mark-i-m:const-vec-new, r=ecstatic-morse
Remove a const-if-hack in RawVec

r? @ecstatic-morse

cc @Centril
2019-12-20 12:17:18 +01:00
Victor Ding 83fc600a28 Move command line option definitions into a dedicated file
config.rs has reached the 3000 line tidy limit, this commit moves
command line option definitions into a new file - options.rs,  and
leaves the rest of configuration infrastructure in config.rs.
2019-12-20 18:14:35 +11:00
bors 696735f71b Auto merge of #67443 - Mark-Simulacrum:toolstate-no-commit-newline, r=Mark-Simulacrum
Remove newline from commit in toolstate
2019-12-20 03:33:07 +00:00
Mark Rousskov 1d9a1799e8 Remove newline from commit in toolstate 2019-12-19 22:32:07 -05:00
bors 19b3813b5e Auto merge of #67440 - Mark-Simulacrum:rollup-z59a7ky, r=Mark-Simulacrum
Rollup of 6 pull requests

Successful merges:

 - #67253 (Add more delegations to the fmt docs and add doctests)
 - #67281 (add string.insert benchmarks)
 - #67351 (Set release channel on non-dist builders)
 - #67421 (Fix internal documentation typo)
 - #67432 (Fix toolstate history format)
 - #67436 (Correct the todo! stabilization version)

Failed merges:

r? @ghost
2019-12-19 23:02:09 +00:00
Mark Rousskov 5f64777e63
Rollup merge of #67436 - NieDzejkob:todo-stabilization-fix, r=alexcrichton
Correct the todo! stabilization version

None
2019-12-19 17:53:58 -05:00
Mark Rousskov 8f20e67501
Rollup merge of #67432 - Mark-Simulacrum:fix-toolstate, r=Centril
Fix toolstate history format

We were inserting *before* the existing newline, so we should prepend it
not append it to our inserted string.
2019-12-19 17:53:57 -05:00
Mark Rousskov ac80d59e97
Rollup merge of #67421 - LeSeulArtichaut:patch-1, r=Centril
Fix internal documentation typo

r? @Centril
2019-12-19 17:53:56 -05:00
Mark Rousskov 380afc1fac
Rollup merge of #67351 - Mark-Simulacrum:always-channel, r=pietroalbini
Set release channel on non-dist builders

Toolstate publication only runs if the channel is "nightly" and
previously the toolstate builders did not know that the channel was
nightly (since they are not dist builders).

A look through bootstrap seems to indicate that nothing should directly
depend on the channel being set to `-dev` on the test builders, though
this may cause some problems with UI tests (if for some reason they're
dumping the channel into stderr), but we cannot find evidence of such so
hopefully this is fine.

r? @pietroalbini
2019-12-19 17:53:54 -05:00
Mark Rousskov 9d1baaf11d
Rollup merge of #67281 - llogiq:nonoverlapping-insert, r=alexcrichton
add string.insert benchmarks

This adds benchmarks for `String::insert` and `String::insert_str`
2019-12-19 17:53:53 -05:00
Mark Rousskov 939beb58d3
Rollup merge of #67253 - elichai:2019-12-fmt, r=Dylan-DPC
Add more delegations to the fmt docs and add doctests

HI,
this is a continuation to #67021
I replaced the `Debug` example with one that use the `Debug*` helpers so that padding etc will work too.
I also added asserts for the doctests as @RalfJung asked :)

The only thing I left with the `write!` macro is the `Display` example as I didn't know if there's a better way to do that.

r? @QuietMisdreavus
2019-12-19 17:53:52 -05:00
Mark Rousskov 1787b2b5ab Fix toolstate history format
We were inserting *before* the existing newline, so we should prepend it
not append it to our inserted string.
2019-12-19 13:48:36 -05:00
Jakub Kądziołka df93bab135
Correct the todo! stabilization version 2019-12-19 19:09:20 +01:00
LeSeulArtichaut bfc02bdd3c
Fix documentation typo 2019-12-19 12:58:42 +01:00
bors 0de96d37fb Auto merge of #67419 - Centril:rollup-v7b0ypv, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #67189 (Unify binop wording)
 - #67270 (std: Implement `LineWriter::write_vectored`)
 - #67286 (Fix the configure.py TOML field for a couple LLVM options)
 - #67321 (make htons const fn)
 - #67382 (Remove some unnecessary `ATTR_*` constants.)
 - #67389 (Remove `SO_NOSIGPIPE` dummy variable on platforms that don't use it.)
 - #67394 (Remove outdated references to @T from comments)
 - #67406 (Suggest associated type when the specified one cannot be found)

Failed merges:

r? @ghost
2019-12-19 11:33:00 +00:00
Mazdak Farrokhzad 06985c6859
Rollup merge of #67406 - ohadravid:suggest-assoc-type, r=estebank
Suggest associated type when the specified one cannot be found

Fixes #67386, so code like this:
```
use std::ops::Deref;

fn homura<T: Deref<Trget = i32>>(_: T) {}

fn main() {}
```

results in:
```
error[E0220]: associated type `Trget` not found for `std::ops::Deref`
 --> type-binding.rs:6:20
  |
6 | fn homura<T: Deref<Trget = i32>>(_: T) {}
  |                    ^^^^^^^^^^^ help: there is an associated type with a similar name: `Target`

error: aborting due to previous error
```

(The `help` is new)

I used an `all_candidates: impl Fn() -> Iterator<...>` instead of `collect`ing to avoid the cost of allocating the Vec when no errors are found, at the expense of a little added complexity.

r? @estebank
2019-12-19 10:30:01 +01:00
Mazdak Farrokhzad cfa7581028
Rollup merge of #67394 - matthew-healy:update-libsyntax-ptr-docs, r=Dylan-DPC
Remove outdated references to @T from comments

Closes #67341.

This removes all references to `@T` from the comment in libsyntax/ptr.rs.
2019-12-19 10:30:00 +01:00
Mazdak Farrokhzad 6d60606a17
Rollup merge of #67389 - reitermarkus:dummy-variable, r=shepmaster
Remove `SO_NOSIGPIPE` dummy variable on platforms that don't use it.
2019-12-19 10:29:59 +01:00
Mazdak Farrokhzad 126c8adb33
Rollup merge of #67382 - nnethercote:rm-unnecessary-ATTR-constants, r=michaelwoerister
Remove some unnecessary `ATTR_*` constants.

r? @michaelwoerister
2019-12-19 10:29:57 +01:00
Mazdak Farrokhzad 910bb6530c
Rollup merge of #67321 - lzutao:htons, r=dtolnay
make htons const fn

This may partially help #67315.
2019-12-19 10:29:56 +01:00
Mazdak Farrokhzad 0f19977797
Rollup merge of #67286 - cuviper:configure-llvm, r=Dylan-DPC
Fix the configure.py TOML field for a couple LLVM options

The actual fields in `config.toml.example` have dashes, not underscores.
2019-12-19 10:29:54 +01:00
Mazdak Farrokhzad bd8862340d
Rollup merge of #67270 - alexcrichton:write-more-line-writer, r=sfackler
std: Implement `LineWriter::write_vectored`

This commit implements the `write_vectored` method of the `LineWriter`
type. First discovered in bytecodealliance/wasmtime#629 the
`write_vectored` method of `Stdout` bottoms out here but only ends up
writing the first buffer due to the default implementation of
`write_vectored`.

Like `BufWriter`, however, `LineWriter` can have a non-default
implementation of `write_vectored` which tries to preserve the
vectored-ness as much as possible. Namely we can have a vectored write
for everything before the newline and everything after the newline if
all the stars align well.

Also like `BufWriter`, though, special care is taken to ensure that
whenever bytes are written we're sure to signal success since that
represents a "commit" of writing bytes.
2019-12-19 10:29:53 +01:00
Mazdak Farrokhzad eac5fb8b0a
Rollup merge of #67189 - LeSeulArtichaut:binop-wording, r=estebank
Unify binop wording

Closes #60497
r? @estebank
2019-12-19 10:29:51 +01:00
Mark Rousskov cbd1e73124 Set release channel on non-dist builders
Toolstate publication only runs if the channel is "nightly" and
previously the toolstate builders did not know that the channel was
nightly (since they are not dist builders).

A look through bootstrap seems to indicate that nothing should directly
depend on the channel being set to `-dev` on the test builders, though
this may cause some problems with UI tests (if for some reason they're
dumping the channel into stderr), but we cannot find evidence of such so
hopefully this is fine.
2019-12-18 22:44:42 -05:00
Mark Mansi 7d268119f0 no need to bootstrap 2019-12-18 20:19:05 -06:00
Mark Mansi 253543560a add fixme 2019-12-18 20:19:05 -06:00
Mark Mansi 951f041347 fix import 2019-12-18 20:19:05 -06:00
Mark Mansi baaf864e07 use usize::MAX instead of !0 2019-12-18 20:19:05 -06:00
Mark Mansi 3ec3fca414 remove a bit more hackery 2019-12-18 20:19:05 -06:00
Mark Mansi 17aa0cb2ca Remove a const-if-hack in RawVec 2019-12-18 20:19:05 -06:00
bors c605199e89 Auto merge of #67402 - Mark-Simulacrum:stage0-step, r=alexcrichton
Switch bootstrap to 1.41

This updates the version number for master to 1.42 and switches the bootstrap compiler to yesterday's beta. Fallout of cfg(bootstrap) changes is also dealt with.
2019-12-18 22:03:29 +00:00
Ohad Ravid a4a2fc0af3 Suggest associated type when the specified one cannot be found 2019-12-18 21:07:32 +01:00
Mark Rousskov 241d2e765d Fix compiletest fallout from stage0 bump 2019-12-18 13:28:14 -05:00
Mark Rousskov 82184440ec Propagate cfg bootstrap 2019-12-18 12:16:19 -05:00
Mark Rousskov 6a400ee149 Bump stage0 2019-12-18 11:51:31 -05:00
bors 19bd934676 Auto merge of #67379 - Mark-Simulacrum:revert-par-4-default, r=Mark-Simulacrum
Revert enabling parallelism by default

We will re-land a similar patch at a future date but for now we should get a nightly
released in a few hours with the parallel patch, so this should be
reverted to make sure that the next nightly is not parallel-enabled.

r? @ghost
2019-12-18 11:04:07 +00:00
Markus Reiter 58910255aa Remove `SO_NOSIGPIPE` dummy variable on platforms that don't use it. 2019-12-18 08:46:00 +01:00
Andre Bogus c6321a4df8 Add benchmarks for string::insert(_str) 2019-12-18 07:18:05 +01:00
Nicholas Nethercote 71278cbdcb Remove some unnecessary `ATTR_*` constants. 2019-12-18 11:11:15 +11:00
Matthew Healy e77a55b5d9 Remove outdated references to @T from comments 2019-12-17 23:41:55 +01:00
Mark Rousskov 7f00a5f26a Revert "Auto merge of #67362 - Mark-Simulacrum:par-4-default, r=alexcrichton"
This reverts commit 3ed3b8bb7b, reversing
changes made to 99b89533d4.

We will reland a similar patch at a future date but for now we should get a nightly
released in a few hours with the parallel patch, so this should be
reverted to make sure that the next nightly is not parallel-enabled.
2019-12-17 16:28:33 -05:00
bors 3ed3b8bb7b Auto merge of #67362 - Mark-Simulacrum:par-4-default, r=alexcrichton
4 thread parallelism by default

The Session default here is super unusual but seems to both compile and do what we expect as best as I can tell.
2019-12-17 17:56:13 +00:00
Mark Rousskov 5d4e59bc91 Disable cargo tests for now
These depend on rustc being bug-free and it looks like that's not
currently entirely the case (e.g., we know of at least one bug that
introduces nondeterminism).
2019-12-17 12:55:45 -05:00
Mark Rousskov c0dbd9978f Move AtomicU64 usage to AtomicUsize 2019-12-17 09:45:04 -05:00
Mark Rousskov 47bb7606f3 Always build and ship parallel-enabled compilers
This also removes the unused NO_PARALLEL_COMPILER flag; if we want that
functionality we can readd it but this makes sure we really are parallel
everywhere.

This also patches a test that has differing output in the parallel case
(hopefully deterministically so!).
2019-12-16 19:47:11 -05:00