Commit Graph

68828 Commits

Author SHA1 Message Date
kennytm
e6a6d980e0 Rollup merge of #45178 - Badel2:comma-after-struct, r=petrochenkov
Better error message for comma after base struct

#41834

This adds a better error for commas after the base struct:
```
let foo = Foo {
    one: 111,
    ..Foo::default(), // This comma is a syntax error
};
```

The current error is a generic `expected one of ...` which isn't beginner-friendly. My error looks like this:

```
error: cannot use a comma after the base struct
  --> tmp/example.rs:26:9
   |
26 |         ..Foo::default(),
   |         ^^^^^^^^^^^^^^^^- help: remove this comma
   |
   = note: the base struct expansion must always be the last field
```

I even added a note for people who don't know why this isn't allowed.
2017-10-13 23:37:57 +08:00
kennytm
46d86d3847 Rollup merge of #45173 - laumann:suggest-misspelled-labels, r=petrochenkov
Add suggestions for misspelled labels

Another part of #30197
2017-10-13 23:37:56 +08:00
kennytm
b290568dcd Rollup merge of #45133 - GuillaumeGomez:usize-index-msg, r=dtolnay
usize index message for vec
2017-10-13 23:37:55 +08:00
kennytm
9eab4ec823 Rollup merge of #45122 - jean-lourenco:master, r=nikomatsakis
Better compile error output when using arguments instead of types

Following @estebank sugestion on issue https://github.com/rust-lang/rust/issues/18945#issuecomment-331251436
2017-10-13 23:37:54 +08:00
kennytm
82f2c28bc8 Rollup merge of #45110 - Nashenas88:master, r=arielb1
Improve newtype_index macro to handle description and constants consistently
2017-10-13 23:37:53 +08:00
kennytm
6c43bd3c83 Rollup merge of #44855 - federicomenaquintero:master, r=steveklabnik
Improved docs for CStr, CString, OsStr, OsString

This expands the documentation for those structs and their corresponding traits, per https://github.com/rust-lang/rust/issues/29354
2017-10-13 23:37:51 +08:00
bors
305e02281b Auto merge of #45063 - michaelwoerister:bring-back-incremental-info, r=nikomatsakis
incr.comp.: Bring back output of -Zincremental-info.

This got kind lost during the transition to red/green.

I also switched back from `eprintln!()` to `println!()` since the former never actually produced any output. I suspect this has to do with `libterm` somehow monopolizing `stderr`.

r? @nikomatsakis
2017-10-13 15:04:12 +00:00
Jimmy Brisson
fcb8bc9d4e Remove recursion from define_{provider|map}_struct 2017-10-13 09:34:13 -05:00
Jimmy Brisson
2160bab0da Remove export of vtable_methods 2017-10-13 09:34:13 -05:00
Jimmy Brisson
81f9d4e78f Wrap vtable_methods return type in RC 2017-10-13 09:34:13 -05:00
Jimmy Brisson
b640c2b95a get_vtable_methods => vtable_methods query 2017-10-13 09:34:13 -05:00
Jimmy Brisson
4e116e1426 Convert return type of get_vtable_methods to Vec 2017-10-13 09:32:29 -05:00
Santiago Pastorino
9603e240d4 Add License to infer.rs 2017-10-13 08:43:27 -04:00
Santiago Pastorino
e99702f570 TODO -> FIXME 2017-10-13 08:43:27 -04:00
Santiago Pastorino
88b02ef857 Add allow_dead code directive to unused methods 2017-10-13 08:43:27 -04:00
Santiago Pastorino
50ac63b9b1 Do not move infcx, just borrow it 2017-10-13 08:43:27 -04:00
Santiago Pastorino
6c52275c2d borrow block_data instead of moving it 2017-10-13 08:43:27 -04:00
Santiago Pastorino
c0e6a15130 sup_def is a mutable reference 2017-10-13 08:43:27 -04:00
Santiago Pastorino
2720f635a3 inteference_context should be mut 2017-10-13 08:43:27 -04:00
Santiago Pastorino
25aa6eaf30 Mark Region as public 2017-10-13 08:43:27 -04:00
Santiago Pastorino
3372b899d8 Mark free regions handling as TODO 2017-10-13 08:42:54 -04:00
Paul Faria
cc2a1c7bd8 Initial attempt at implementation of inference layout for nll 2017-10-13 08:42:54 -04:00
bors
d21c023964 Auto merge of #45055 - GuillaumeGomez:search-tabs, r=QuietMisdreavus
Add tabs for search for better information access

A few screenshots:

<img width="1440" alt="screen shot 2017-10-06 at 00 54 51" src="https://user-images.githubusercontent.com/3050060/31256148-032c1a06-aa31-11e7-8e4c-fec59786b8e6.png">
<img width="1440" alt="screen shot 2017-10-06 at 00 54 58" src="https://user-images.githubusercontent.com/3050060/31256150-03312cb2-aa31-11e7-86f7-8c9f0d8d6d4f.png">
<img width="1440" alt="screen shot 2017-10-06 at 00 55 00" src="https://user-images.githubusercontent.com/3050060/31256149-0330d456-aa31-11e7-8f89-3b3c824e30b4.png">

r? @rust-lang/docs

cc @killercup @QuietMisdreavus
2017-10-13 11:34:11 +00:00
Hoàng Đức Hiếu
45502d23fb compiletest/runtest: format ErrorKind with Display
The strings are nouns for the most part, so we give ErrorKind::Help a
more sensible string. This reduces quote hiccups in failure output.

unexpected "error": '...'
↓
unexpected error: '...'
2017-10-13 17:54:43 +07:00
bgermann
8f4ff6307f Make Solaris builder compatible with Solaris 10 2017-10-13 11:36:44 +02:00
bors
43d95e2ce9 Auto merge of #45032 - alexcrichton:target-cfu, r=michaelwoerister
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-13 08:57:08 +00:00
bors
2d7397230a Auto merge of #45031 - alexcrichton:nounwind, r=arielb1
rustc: Add LLVM `nounwind` with `-C panic=abort`

This informs LLVM that functions can't unwind, which while it should typically
have already been inferred when necessary or otherwise not impact codegen is
apparently needed on targets like ARM to avoid references to unnecessary
symbols.

Closes #44992
2017-10-13 06:32:10 +00:00
Alexis Beingessner
11775ab80d Clarify how needs_drop is conservative 2017-10-13 02:29:10 -04:00
Garrett Berg
f7fe970400 incr comp: rustc_clean/dirty auto assert
This adds auto-assertion to `rustc_clean/dirty` and also implements
more comprehensive testing for

 - src/test/incremental/hashes/enum_constructors.rs
 - src/test/incremental/hashes/enum_defs.rs
 - src/test/incremental/hashes/extern_mods.rs
 - src/test/incremental/hashes/inherent_impls.rs
 - src/test/incremental/hashes/statics.rs
 - src/test/incremental/hashes/struct_constructors.rs
 - src/test/incremental/hashes/type_defs.rs

trait_defs.rs and trait_impl.rs are blocked on a hard to triage
compiler ICE (at least hard for a newbie like me) having to do
with some DepNodes not getting computed for traits.
A FIXME has been added in the source to reflect this continued
work.
2017-10-12 22:32:45 -06:00
bors
86e548747b Auto merge of #45025 - pnkfelix:mir-borrowck-moves-of-supporting-prefixes-invalidate-uses-too, r=arielb1
MIR-borrowck: moves of prefixes invalidate uses too

I overlooked the fact that when we check if a path is moved, we need to check for interference between the (shallow) prefixes and the use in question.

~~Long term, we may want to revise how this computation is done. For example, it might be better to represent the set of invalidated prefixes in the dataflow computation (the `maybe_uninitialized` dataflow), and thus avoid one of the loops in the code here.~~
 * Update: I was wrong in my original recollection of the dataflow code, which actually does the right thing, in terms of precisely tracking substructure initialization and movement.

Fix #44833

----

Update: The initial version of this PR's description (and the code as well) erroneously focused on supporting prefixes. ~~But the two main cases of interest are: 1. the *shallow* prefixes, and 2. the deref-free prefix built off a local (if the lvalue is indeed built off a local)~~

Update 2: The main cases of interest are in fact: 1. the nearest prefix with a MovePath, and 2. the suffixes.
2017-10-13 04:00:55 +00:00
Bráulio Bezerra
8d20030a03 Moved details of unstable non-ascii identifiers from the Reference to the Unstable book 2017-10-12 23:30:46 -03:00
bors
91eb6fe56d Auto merge of #45013 - chrisvittal:mir_pretty_printing_pr, r=nikomatsakis
Extend mir dump to dump each region

Building on #44878, implement the feature discussed in #44872.

Through discussions on the WG-nll-gitter, @nikomatsakis and I decided to implement this by extending `dump_mir` and all functions that it calls to take a callback of signature `FnMut(PassWhere, &mut Write) -> io::Result<()>` where `PassWhere` is an enum that represents possible locations that we may want to print out extra data in the process of dumping the MIR.

I'm not particularly wedded to the name `PassWhere`, but I felt that simply calling the enum `Where` wasn't the right thing to name it.

This work depends strongly on #44878, and should be rebased on the final version of that tree, whatever that may be.
2017-10-13 01:33:34 +00:00
sinkuu
f577847aa2 Reword 2017-10-13 09:56:50 +09:00
bors
64ee7d1399 Auto merge of #45233 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests

- Successful merges: #44989, #45005, #45049, #45105, #45121, #45166, #45172, #45190, #45231
- Failed merges: #45138
2017-10-12 23:01:34 +00:00
Stjepan Glavina
16ec7b949f Increase padding between consecutive impls 2017-10-12 22:57:51 +02:00
Guillaume Gomez
9da9c3be62 Small improvement for the sidebar on mobile devices 2017-10-12 20:02:29 +02:00
kennytm
45e4c19d1f
Rollup merge of #45231 - kennytm:patch-1, r=petrochenkov
Fix typo in libsyntax/parse/lexer/unicode_chars.rs

`` ` `` (U+0060) should be the "grave" accent, not "Greek" accent.
2017-10-13 01:58:53 +08:00
kennytm
19901df002
Fix typo in libsyntax/parse/lexer/unicode_chars.rs
` (U+0060) should be the "grave" accent, not "Greek" accent.
2017-10-13 01:58:51 +08:00
kennytm
e1a6795188
Rollup merge of #45190 - petrochenkov:shorten, r=alexcrichton
Shorten some test names

An immediate fix for the first issue in https://github.com/rust-lang/rust/issues/45103
r? @alexcrichton
2017-10-13 01:58:49 +08:00
kennytm
db6fdf664a
Rollup merge of #45172 - oli-obk:patch-8, r=pnkfelix
Upgrade some comments to doc comments
2017-10-13 01:58:47 +08:00
kennytm
7640cda8b2
Rollup merge of #45166 - tinaun:more_unstable_docs, r=steveklabnik
Documented a few more unstable feature gates.

unboxed closures, fn_traits, and OIBIT. hope these are decent!
2017-10-13 01:58:45 +08:00
kennytm
69447684d1
Rollup merge of #45121 - johnthagen:pep8-bootstrap, r=alexcrichton
Fix PEP8 style issues in bootstrap code

This fixes PEP8 style issues (other than line-length) in the bootstrap Python code.

The most important fix is in the `set` function where the code was indented with 6 spaces instead of 4.
2017-10-13 01:58:44 +08:00
kennytm
ff53dc7166
Rollup merge of #45105 - camsteffen:patch-2, r=pnkfelix
Fix rustc documentation typo

I'm new to rustc but this looks like a typo.
2017-10-13 01:58:42 +08:00
kennytm
81ea49f244
Rollup merge of #45049 - alexcrichton:update-jobserver, r=sfackler
Update the `jobserver` crate

Brings in a bugfix to be compatible with the master branch of `make` where
jobserver fds are set in nonblocking mode
2017-10-13 01:58:40 +08:00
kennytm
4f83c359b8
Rollup merge of #45005 - leodasvacas:inline-eq-slice-into-eq, r=jseyfried
Inline eq_slice into str::eq

It's the only use of the function.
2017-10-13 01:58:38 +08:00
kennytm
445bbde784
Rollup merge of #44989 - QuietMisdreavus:what-is-your-quest, r=GuillaumeGomez
let rustdoc print the crate version into docs

This PR adds a new unstable flag to rustdoc, `--crate-version`, which when present will add a new entry to the sidebar of the root module, printing the given version number:

![Screenshot of a test crate, showing "Version 1.3.37" under the crate name](https://user-images.githubusercontent.com/5217170/31104096-805e3f4c-a7a0-11e7-96fc-368b6fe063d6.png)

Closes #24336

(The WIP status is because i don't want to merge this until i can get the std docs to use it, which i need help from rustbuild people to make sure i get right.)
2017-10-13 01:58:36 +08:00
bors
dcbbfb6e80 Auto merge of #45007 - undecidabot:optimize-iter, r=bluss
Optimize comparison functions of Iterator

Replaced matching on tuples which led to less performant code generation. Testing on microbenchmarks consistently showed ~1.35x improvement in performance on my machine.

Fixes #44729.
2017-10-12 17:34:21 +00:00
Alex Crichton
6cae080516 rustc: Handle #[linkage] anywhere in a crate
This commit updates the reachability pass of the compiler to seed the local
worklist with `#[linkage]`-like items anywhere in a crate, not just those
reachable from public items.

Closes #45165
2017-10-12 09:14:28 -07:00
Alex Crichton
e6da40c669 rustbuild: Prevent spurious rebuilds of the RLS
The RLS currently is rebuilt every time you test it because the `OPENSSL_DIR`
env var is changing, which is in turn caused by an accidental omission of
`prepare_tool_cargo` when testing the RLS.
2017-10-12 08:04:07 -07:00
Jimmy Brisson
d0cb4d09cd Explain why ensure of a red node == the query 2017-10-12 08:54:42 -05:00