Commit graph

70753 commits

Author SHA1 Message Date
David Wood
3dbc11bc63
Updated existing tests with new error messages. 2017-12-11 22:20:15 +00:00
David Wood
00c7a3f4dc
Refactored and tidied up report function 2017-12-11 22:20:12 +00:00
David Wood
baf68d3a37
Fixed case where borrowed value lives until after scope 2017-12-11 20:41:27 +00:00
David Wood
52442d4d8a
Fix error does not know about free/named lifetimes 2017-12-11 20:34:39 +00:00
David Wood
15b8fbdfb3
Added test for #46472 2017-12-11 20:26:06 +00:00
David Wood
d78e8a730a
Fix error message confuses locals and temporaries 2017-12-11 20:14:06 +00:00
David Wood
4651d1e3cf
Added test for #46471 2017-12-11 19:46:01 +00:00
bors
ddbb27a241 Auto merge of #46558 - arielb1:union-borrow-refactor, r=nikomatsakis
Clean up the MIR borrowck code

I want to avoid the new code to start with so much technical debt.

r? @nikomatsakis
2017-12-11 16:43:40 +00:00
bors
33245fe682 Auto merge of #46640 - tommyip:ui_tests, r=estebank
Enforce successful ui tests to have must-compile-successfully flag.

r? @nikomatsakis
cc @oli-obk

Fixes #46587
2017-12-11 06:54:24 +00:00
bors
5f3bd73d81 Auto merge of #46625 - emilio:moar-nits, r=kennytm
infer: Fix typo in README.

Was just reading through it and found this, not a big deal but...
2017-12-11 04:27:58 +00:00
bors
830599b195 Auto merge of #46624 - emilio:nit, r=kennytm
rustc_trans: Fix indentation in trans_set_discr.

Just noticed this while reading through #46521, which introduced this weird
alignment.
2017-12-11 02:04:56 +00:00
bors
ea16814761 Auto merge of #46248 - zackmdavis:one_time_private_enum_variant_reexport_error, r=estebank
one-time diagnostics for private enum variants glob reëxport

![private_enum_reexport](https://user-images.githubusercontent.com/1076988/33224719-4e5805f0-d121-11e7-8bc0-a708a277a5db.png)

r? @estebank
2017-12-10 23:32:09 +00:00
Tommy Ip
2ad5bf056c Update ui tests' line numbers. 2017-12-10 21:14:57 +00:00
Tommy Ip
76d9b309ae Add must-compile-successfully comment to appropriate ui tests. 2017-12-10 21:14:57 +00:00
Tommy Ip
81b8db2180 Imply must-compile-successfully in ui-tests when the run-pass flag is present. 2017-12-10 21:14:57 +00:00
Tommy Ip
5990b8b57c Enforce successful ui tests to have must-compile-successfully flag. 2017-12-10 21:14:57 +00:00
bors
2d4df9584b Auto merge of #46232 - canndrew:never-docs, r=QuietMisdreavus
Add docs for never primitive

cc @nikomatsakis, @QuietMisdreavus
2017-12-10 19:04:25 +00:00
Emilio Cobos Álvarez
2fe24882a2
rustc_trans: Fix indentation in trans_set_discr.
Just noticed this while reading through #46521, which introduced this weird
alignment.
2017-12-10 19:58:17 +01:00
Emilio Cobos Álvarez
6852999188
infer: Fix typo in README.
Was just reading through it and found this, not a big deal but...
2017-12-10 17:32:51 +01:00
bors
2537a499c2 Auto merge of #46620 - bjorn3:remove-test-metric, r=kennytm
Remove *MetricFn

fixes #44808
2017-12-10 16:31:32 +00:00
Ariel Ben-Yehuda
e798cb0e52 centralize does_not_live_long_enough error reporting 2017-12-10 17:46:32 +02:00
Ariel Ben-Yehuda
ed636c5c5a remove is_unique 2017-12-10 17:46:31 +02:00
Ariel Ben-Yehuda
b64ddecae8 use places_conflict to handle reassignment
This fixes the handling of reassignment of struct fields.
2017-12-10 17:46:31 +02:00
Ariel Ben-Yehuda
97c58ed66c avoid passing the gen/kill bits to start_block_effects
If the gen/kill bits are set there, the effects of `start_block_effects`
will not be seen when using `FlowAtLocation` etc. to go over the MIR.

EverInitializedLvals is the only pass that got this wrong, but this
fixes the footgun for everyone.
2017-12-10 17:46:31 +02:00
Ariel Ben-Yehuda
733e95444f clean up reassignment duplicate error prevention 2017-12-10 17:46:31 +02:00
Ariel Ben-Yehuda
5a3f7cdcc7 move FlowAtLocation to be a dataflow abstraction
We can now use it in e.g. drop elaboration if we want to.
2017-12-10 17:46:31 +02:00
Ariel Ben-Yehuda
157231183c start extracting things into modules
The borrow_check module is too big for its own good
2017-12-10 17:46:29 +02:00
bjorn3
83c08d2174 Remove *MetricFn 2017-12-10 14:30:08 +01:00
Andrew Cann
172f16bc9d Update never_type docs based on feedback 2017-12-10 15:13:55 +08:00
bors
02b4d3ddfb Auto merge of #46611 - GuillaumeGomez:type-mismatch, r=petrochenkov
Fix switched types in type mismatch

Fixes #46609.
2017-12-10 04:01:00 +00:00
bors
c89e206eed Auto merge of #46602 - mbrubeck:try, r=kennytm
Replace option_try macros and match with ? operator

None
2017-12-10 00:57:40 +00:00
Zack M. Davis
4fb57e0796 one-time diagnostic and suggestion for reëxporting private variant error
We issue just one message for an erroneous glob private variant reëxport
(using the Session's one-time-diagnostics capability), but individual
(non-glob) such erroneous reëxports still get their own messages. The
suggestion to make the enum public is also one-time.

The enum variant reëxport error didn't have an associated error code
(and remedying this here is deemed out of the scope of this commit), so
we resort to the expediency of using 0 as the `DiagnosticMessageId`
value.

Adding Debug to NameResolution was helpful in development.

This resolves #46209.
2017-12-09 16:33:32 -08:00
Zack M. Davis
883f5e5e65 one-time diagnostics: span_suggestion, generalize methods for non-lints
304c8b1eda made the Session's one-time-diagnostics set take a
special-purpose `DiagnosticMessageId` enum rather than a LintID so that
it could support more than just lints, but the `diag_span_note_once` and
`diag_note_once` methods continued to take references to lints: for API
consistency, we now make these methods take a `DiagnosticMessageId`
while we add support for one-time span-suggestions.
2017-12-09 16:33:32 -08:00
Guillaume Gomez
484729478b Fix switched types in type mismatch 2017-12-10 01:20:40 +01:00
bors
8db163e53d Auto merge of #46572 - vramana:fix-45638, r=estebank
Fix bad error message for cannot_reborrow_already_uniquely_borrowed
2017-12-09 22:32:34 +00:00
Matt Brubeck
3024c1434a Use Try syntax for Option in place of macros or match 2017-12-09 14:18:33 -08:00
bors
6fa53b00e7 Auto merge of #46603 - ollie27:rustdoc_slice_u8, r=GuillaumeGomez
rustdoc: Include `impl [u8]` in the docs

The impl was added in #44042 but wasn't visible in the docs.
2017-12-09 20:10:29 +00:00
Oliver Middleton
e53a848d32 rustdoc: Include impl [u8] in the docs 2017-12-09 17:06:02 +00:00
bors
6537fd184e Auto merge of #46581 - tmccombs:drain_filter_drop, r=sfackler
Add Drop impl for linked_list::DrainFilter

This is part of #43244. See https://github.com/rust-lang/rust/issues/43244#issuecomment-349894355
2017-12-09 09:54:55 +00:00
Thayne McCombs
cdf1d7dfc9 Revert "Make drop impl stable for DrainFilter"
This reverts commit 00acdbd51d.
2017-12-09 01:09:23 -07:00
bors
61cc23e3e5 Auto merge of #46586 - GuillaumeGomez:fix-mobile-important-display, r=QuietMisdreavus
Fixes doc important trait display on mobile

Fixes #46527.

r? @QuietMisdreavus
2017-12-09 03:57:47 +00:00
bors
69ae2b7e12 Auto merge of #46573 - jseyfried:add_decl_macro_test, r=nrc
macros: add test for #44128

Closes #44128.
r? @nrc
2017-12-09 01:20:16 +00:00
bors
c7b6d8263b Auto merge of #45837 - SimonSapin:file_read_write, r=dtolnay
Add read, read_string, and write functions to std::fs

New APIs in `std::fs`:

```rust
pub fn read<P: AsRef<Path>>(path: P) -> io::Result<Vec<u8>> { … }
pub fn read_string<P: AsRef<Path>>(path: P) -> io::Result<String> { … }
pub fn write<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C) -> io::Result<()> { ... }
```

(`read_string` is based on `read_to_string` and so returns an error on non-UTF-8 content.)

Before:

```rust
use std::fs::File;
use std::io::Read;

let mut bytes = Vec::new();
File::open(filename)?.read_to_end(&mut bytes)?;
do_something_with(bytes)
```

After:

```rust
use std::fs;

do_something_with(fs::read(filename)?)
```
2017-12-08 21:33:50 +00:00
bors
ad3543db34 Auto merge of #46563 - michaelwoerister:make-anon-globals-private, r=alexcrichton
Make CGU-local globals private so they don't show up in the local symbol table.

Should reduce binary sizes. Great find, @eddyb!

r? @alexcrichton
(I have not tested this locally. Better wait for travis to turn green before approving)
2017-12-08 18:46:24 +00:00
Simon Sapin
c5eff5442c fs::{read, read_string, write}: add tracking issue number 2017-12-08 19:28:13 +01:00
Ramana Venkata
90f7c31d86 Fix bad error message for cannot_reborrow_already_uniquely_borrowed
Fixes #45638
2017-12-08 23:42:13 +05:30
Guillaume Gomez
0017d504a5
Fixes doc important trait display on mobile 2017-12-08 16:36:08 +01:00
bors
ab79caa828 Auto merge of #46247 - GuillaumeGomez:md-warnings, r=QuietMisdreqvus
Md warnings

Fixes #45365.

r? @QuietMisdreavus
2017-12-08 14:10:07 +00:00
bors
88fc3bc271 Auto merge of #46556 - michaelwoerister:enable-query-caching, r=nmatsakis
incr.comp.: Enable query result caching for many more queries

Newly cached queries are:
* const_is_rvalue_promotable_to_static
* trans_fulfill_obligation
* optimized_mir
* unsafety_check_result
* borrowck
* mir_borrowck
* mir_const_qualif
* contains_extern_indicator
* def_symbol_name
* symbol_name

This also includes the stricter `Span` hashing first mentioned in #46490, which will lead to more false positives in release builds but overall is more correct -- and necessary for caching MIR. Hopefully we will soon be able to reduce the rate of false positives again by factoring `Span` out of MIR.

r? @nikomatsakis
2017-12-08 11:34:23 +00:00
Michael Woerister
539e171772 incr.comp.: Fix merge fallout. 2017-12-08 10:17:17 +01:00