Commit Graph

68737 Commits

Author SHA1 Message Date
QuietMisdreavus
7ea286e854 render the rust version into std/compiler/test docs 2017-10-10 20:36:09 -05:00
Badel2
72cfd20941 Add error for comma after base struct field
`let x = { ..default(), } // This comma is an error`
2017-10-11 03:13:25 +02:00
Steve Klabnik
4a90366464 Rollup merge of #45180 - 0xAX:fix-help-message-in-configure.py, r=Mark-Simulacrum
Fix path to x.py in bootstrap/configure.py script

We may see a help message in the end of the output of the ./configure script:

```
$ ./configure
configure: processing command line
configure:
configure: build.configure-args := []
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python ./src/bootstrap/x.py --help`
configure:
```

but the `x.py` script is actually in the rust root directory and
executing of such help string will give us error:

```
$ python ./src/bootstrap/x.py --help
python: can't open file './src/bootstrap/x.py': [Errno 2] No such file
or directory
```

This patch fixes path to the x.py script in the output of the ./configure
2017-10-10 20:22:29 -04:00
Steve Klabnik
fa70d04dc5 Rollup merge of #45171 - rust-lang:petrochenkov-patch-2, r=steveklabnik
Fix a mistake in release notes for 1.21.0

Also reorder changes to put the important one first.
2017-10-10 20:22:28 -04:00
Steve Klabnik
eac9138a79 Rollup merge of #45148 - gaurikholkar:master, r=nikomatsakis
Update let-expressions.rs with DepNode labels

As a part of #44924, the PR has tests verified for the following dependency nodes for **let-expressions**
```
- MirValidated
- MirOptimized
- TypeCheckTables
- TypeOfItem
- GenericsOfItem
- PredicatesOfItem
- FnSignature
```

As we are more concerned with the function body,  the following fingerprints do not change over compilation sessions.
```- TypeOfItem
- GenericsOfItem
- PredicatesOfItem
- FnSignature
```

r? @nikomatsakis
cc @michaelwoerister

P.S. Will add more tests as and when possible :)
2017-10-10 20:22:27 -04:00
Steve Klabnik
0a0bec7695 Rollup merge of #45139 - michaelwoerister:document-force_from_dep_node, r=nikomatsakis
incr.comp.: Add some documentation to force_from_dep_node().

r? @nikomatsakis
2017-10-10 20:22:26 -04:00
Steve Klabnik
fab96c4b12 Rollup merge of #45071 - tromey:use-gdb-lazy-string, r=michaelwoerister
Implement display_hint in gdb pretty printers

A few pretty-printers were returning a quoted string from their
to_string method.  It's preferable in gdb to return a lazy string and to
let gdb handle the display by having a "display_hint" method that
returns "string" -- it lets gdb settings (like "set print ...") work, it
handles corrupted strings a bit better, and it passes the information
along to IDEs.
2017-10-10 20:22:24 -04:00
Vadim Petrochenkov
ca61ea2c44 Shorten some test names
Paths to object files generated from them were too long and caused errors
2017-10-11 02:36:40 +03:00
Alexander Kuleshov
a84c62a7f1 Fix path to x.py in configure.py script
We may see a help message in the end of the output of the ./configure script:

$ ./configure
configure: processing command line
configure:
configure: build.configure-args := []
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python ./src/bootstrap/x.py --help`
configure:

but the x.py script is actually in the rust root directory and
executing of such help string will give us error:

$ python ./src/bootstrap/x.py --help
python: can't open file './src/bootstrap/x.py': [Errno 2] No such file
or directory

This patch fixes path to the x.py script in the output of the ./configure
2017-10-11 00:00:18 +06:00
Josh Stone
9e8b33e811 core: derive Clone for result::IntoIter
It appears to be a simple oversight that `result::IntoIter<T>` doesn't
implement `Clone` (where `T: Clone`).  We do already have `Clone` for
`result::Iter`, as well as the similar `option::IntoIter` and `Iter`.
2017-10-10 10:18:34 -07:00
Pirh
210c91100f Remove misleading line on Windows Subsystem stdio 2017-10-10 17:58:13 +01:00
bors
d6d711dd8f Auto merge of #45169 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #44775, #45089, #45095, #45099, #45101, #45108, #45116, #45135, #45146
- Failed merges:
2017-10-10 16:55:39 +00:00
Oliver Schneider
c6c47fa6c0 Update toolstate.toml 2017-10-10 18:16:18 +02:00
Thomas Jespersen
843dc60444 Add suggestions for misspelled labels
Another part of #30197
2017-10-10 17:22:14 +02:00
Oliver Schneider
8e900aaa2b Enable building clippy in CI 2017-10-10 17:20:59 +02:00
Michael Woerister
1235836f67 incr.comp.: Fix instability in CodegenUnitExt::items_in_deterministic_order(). 2017-10-10 17:11:08 +02:00
Michael Woerister
7a016c1ca6 incr.comp.: Add missing match branch in HashStable impl for ty::RegionKind. 2017-10-10 17:08:49 +02:00
kennytm
ce0a1cfa30
Rollup merge of #45146 - petrochenkov:lessrec, r=estebank
Fix a bug in diagnostics for `x as usize < y`

Also improve diagnostics for `x as usize << y`.

Fixes https://github.com/rust-lang/rust/issues/44406
r? @estebank
2017-10-10 22:44:12 +08:00
kennytm
0ca4c4c5b3
Rollup merge of #45135 - michaelwoerister:move-incr-comp-with-macro-export, r=alexcrichton
incr.comp.: Move macro-export test case to src/test/incremental.

`compile-fail/incr_comp_with_macro_export.rs` was trying to role its own incremental compilation setup. This started to cause problems. There's no reason to not just make this a regular `src/test/incremental` test.

Fixes #45062.
2017-10-10 22:44:10 +08:00
kennytm
b7a3a14406
Rollup merge of #45116 - johnthagen:typo-fix, r=alexcrichton
Fix typos
2017-10-10 22:44:08 +08:00
kennytm
3b69c79efc
Rollup merge of #45108 - phil-opp:patch-2, r=japaric
Fix data-layout field in x86_64-unknown-linux-gnu.json test file

The current data-layout causes the following error:

> rustc: /checkout/src/llvm/lib/CodeGen/MachineFunction.cpp:151: void llvm::MachineFunction::init(): Assertion `Target.isCompatibleDataLayout(getDataLayout()) && "Can't create a MachineFunction using a Module with a " "Target-incompatible DataLayout attached\n"' failed.

The new value was generated according to [this comment by @japaric](https://github.com/rust-lang/rust/issues/31367#issuecomment-213595571).
2017-10-10 22:44:07 +08:00
kennytm
bedce1e0a6
Rollup merge of #45101 - lfairy:proc-macro-string-escape, r=jseyfried
Make the result of `Literal::string()` more readable

Closes #45076
2017-10-10 22:44:05 +08:00
kennytm
2f4dd1527e
Rollup merge of #45099 - mikeyhew:fix-astconv-self-type-comments, r=nikomatsakis
Update comments referring to old check_method_self_type

I was browsing the code base, trying to figure out how #44874 could be implemented, and noticed some comments that were out of date and a bit misleading (`check_method_self_type` has since been renamed to `check_method_receiver`). Thought it would be an easy first contribution to Rust!
2017-10-10 22:44:04 +08:00
kennytm
9effa73286
Rollup merge of #45095 - bluss:discriminant-send-sync, r=alexcrichton
Ensure std::mem::Discriminant is Send + Sync

`PhantomData<*const T>` has the implication of Send / Syncness following
the *const T type, but the discriminant should always be Send and Sync.

Use `PhantomData<fn() -> T>` which has the same variance in T, but is Send + Sync
2017-10-10 22:44:02 +08:00
kennytm
f2efa793f0
Rollup merge of #45089 - rkruppe:master, r=bluss
Fix typo in codegen test

Without the `:`, the `CHECK-NOT` is ignored by FileCheck, making the line not test anything.
2017-10-10 22:44:00 +08:00
kennytm
23a99f4e0e
Rollup merge of #44775 - MaloJaffre:debug-struct, r=sfackler
Refactor to use `debug_struct` in several Debug impls

Also use `pad` and derive `Debug` for `Edge`.

Fixes #44771.
2017-10-10 22:43:57 +08:00
bors
ec016f80cf Auto merge of #45170 - rust-lang:aphs-no-unsynchronised-llvm-err-global, r=alexcrichton
Band-aid fix to stop race conditions in llvm errors

This is a big hammer, but should be effective at completely removing a
few issues, including inconsistent error messages and segfaults when
LLVM workers race to report results

`LLVM_THREAD_LOCAL` has been present in LLVM since 8 months before 3.7
(the earliest supported LLVM version that Rust can use)

Maybe fixes #43402 (third time lucky?)

r? @alexcrichton

------

You can see that in 5f578dfad0/src/librustc_trans/back/write.rs (L75-L100) there's a small window where the static global error message (made thread local in this PR) could be altered by another thread.

Note that we can't use `thread_local` because gcc 4.7 (permitted according to the readme) does not support it.

Maybe ideally all the functions should be modified to not use a global, but this PR makes things deterministic at least. My only hesitation is whether errors are checked in different threads to where they occur, but I figure that's probably unlikely (and is less bad than racing code).

As an aside, segfault evidence before this patch when I was doing some debugging:
```
$ while grep 'No such file or directory' log2; do RUST_LOG=debug ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc -o "" y.rs >log2 2>&1; done
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
Segmentation fault (core dumped)
error: could not write output to : No such file or directory
error: could not write output to : No such file or directory
```
2017-10-10 14:26:13 +00:00
Oliver Schneider
1cb9f70b22 Upgrade some comments to doc comments 2017-10-10 16:12:11 +02:00
Vadim Petrochenkov
1138f853e1 Fix a mistake in release notes for 1.21.0
Also reorder changes to put the important one first.
2017-10-10 15:45:04 +03:00
Aidan Hobson Sayers
8628d51c3b Band-aid fix to stop race conditions in llvm errors
This is a big hammer, but should be effective at completely removing a
few issues, including inconsistent error messages and segfaults when
LLVM workers race to report results

LLVM_THREAD_LOCAL has been present in LLVM since 8 months before 3.7
(the earliest supported LLVM version that Rust can use)

Maybe fixes #43402 (third time lucky?)
2017-10-10 13:14:51 +01:00
Felix S. Klock II
5b68e1f8da Add Origin::Ast arguments to all of the migrated AST-borrowck diagnostics. 2017-10-10 13:12:00 +02:00
Felix S. Klock II
cf11ef436b Fixed client code for diagnostics migration, adding new methods to trait BorrowckErrors as necessary. 2017-10-10 13:12:00 +02:00
Felix S. Klock II
52cb6fc936 Moved remaining AST-borrowck diagnostic definitions to rustc_mir crate. 2017-10-10 13:12:00 +02:00
bors
0217315bf2 Auto merge of #44877 - nvzqz:box-conversions, r=alexcrichton
Improve raw Box conversions

This PR has two goals:

- Reduce use of `mem::transmute` in `Box` conversions

  I understand that `mem::transmute`-ing non `#[repr(C)]` types is implementation-defined behavior.  This may not matter within the reference implementation of Rust, but I believe it's important to remain consistent. For example, I noticed that `str::from_utf8_unchecked` went from using `mem::transmute` to using pointer casts.

- Make `Box` pointer conversions more straightforward regarding `Unique`
2017-10-10 11:07:25 +00:00
tinaun
d07825258e unstable book: fn_traits 2017-10-10 04:59:28 -04:00
tinaun
364148dbf9 unstable book: unboxed_closures 2017-10-10 04:42:59 -04:00
bors
5f578dfad0 Auto merge of #45141 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #44962, #45051, #45091, #45106, #45117, #45118, #45120, #45125, #45136
- Failed merges:
2017-10-10 08:30:10 +00:00
tinaun
7735f59e80 unstable book: OIBIT 2017-10-10 04:20:49 -04:00
Philipp Oppermann
06b9168d33 Rename test Linux target to avoid conflict with built-in target
It seems like the file wasn't actually used, since there is a built-in target with the same name. See https://github.com/rust-lang/rust/pull/45108#issuecomment-335173165 for more details.
2017-10-10 10:05:29 +02:00
sinkuu
fa14f797f3 Reword 2017-10-10 16:07:58 +09:00
Christopher Vittal
426183c01b Update README and tests for new infrastructure 2017-10-09 23:22:34 -04:00
Christopher Vittal
a5e8a0ea7c Modify MIR testing to require continuous lines
Mir testing now requires that lines be continuous. To achive this,
instead of collecting the expected mir as a string, it is now wrapped in
an `ExpectedLine` enum, that is either `Elision` or `Text(T)` where `T:
AsRef<str>`. `Text` lines must be matched in order, unless separated by
`Elision` lines. Matches occur greedily, that is, an Elision will skip
as few lines as possible.

To add a new elision marker. Put a comment containing only "..." and
whitespace in any MIR testing block. Like so:

```
// fn write_42(_1: *mut i32) -> bool {
//     ...
//     bb0: {
//         Validate(Acquire, [_1: *mut i32]);
//         Validate(Release, [_1: *mut i32]);
//         ...
//         return;
//     }
// }
```

Right now, all input before the line right after `// START` is elided,
and all input after the line right before `// END` is also not tested.

Many tests need to be updated. That will follow in the next commit.

cc #45153
2017-10-09 23:22:28 -04:00
bors
13ae187043 Auto merge of #44822 - frewsxcv:frewsxcv-eprintln, r=Kimundi
Migrate to eprint/eprintln macros where appropriate.

None
2017-10-10 02:54:14 +00:00
Guillaume Gomez
3a65d12df7 Add tabs for search for better information access
Make tabs work
2017-10-09 23:26:10 +02:00
Alex Crichton
5187763cff rustc: Allow target-specific default cgus
Some targets, like msp430 and nvptx, don't work with multiple codegen units
right now for bugs or fundamental reasons. To expose this allow targets to
express a default.

Closes #45000
2017-10-09 13:45:30 -07:00
Vadim Petrochenkov
b434c84bab cleanup: rustc doesn't use an external archiver 2017-10-09 22:36:08 +03:00
Pirh
6f653bb1b1 Document defaults for stdin, stdout, and stderr methods of Command 2017-10-09 19:20:07 +01:00
Malo Jaffré
679457ad2a Refactor to use debug_struct in several Debug impls
Fixes #44771.
2017-10-09 20:09:08 +02:00
gaurikholkar
29b576e15b Update let-expressions.rs 2017-10-09 23:32:21 +05:30
Vadim Petrochenkov
3e4d9df02b Fix a bug in diagnostics for x as usize < y
Improve diagnostics for `x as usize << y`
2017-10-09 20:02:37 +03:00