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
Jeffrey Seyfried
9c7969d3df
Use hygiene to access the injected crate (core
or std
) from builtin macros.
2017-12-09 17:22:07 -08: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
Esteban Küber
95a0458358
Resolve type on return type suggestion
2017-12-09 15:19:39 -08: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
Esteban Küber
b7bb67abd3
Use spans for -Z external-macro-backtrace
...
```
% rustc ui/type-check/cannot_infer_local_or_vec.rs -Z external-macro-backtrace
error[E0282]: type annotations needed
--> <vec macros>:3:1
|
1 | / ( $ elem : expr ; $ n : expr ) => (
2 | | $ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => (
3 | | < [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )
| | ^^^^^^^^^^^^^^^^^^^^^
| | |
| | cannot infer type for `T`
4 | | => ( vec ! [ $ ( $ x ) , * ] )
| |______________________________- in this expansion of `vec!`
|
::: ui/type-check/cannot_infer_local_or_vec.rs
|
12 | let x = vec![];
| - ------ in this macro invocation
| |
| consider giving `x` a type
error: aborting due to previous error
```
2017-12-09 12:43:46 -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
matthewjasper
d755be69e8
Use a better link for method resolution in Deref docs
2017-12-09 13:50:07 +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
Michael Woerister
f5bd1ca678
incr.comp.: Make Span decoding more consistent so it doesn't mess up -Zincremental-verify-ich
2017-12-08 10:02:26 +01:00
Michael Woerister
1c0e611dff
Remove some svh-tests from run-pass.
...
These were already broken for debug builds.
2017-12-08 10:02:26 +01:00
Michael Woerister
c5dd9f5301
incr.comp.: Hash spans unconditionally for full accuracy.
2017-12-08 10:02:26 +01:00
Michael Woerister
829a349739
incr.comp: Cache results of more queries.
2017-12-08 10:02:26 +01:00
bors
58a05eed54
Auto merge of #46549 - alexcrichton:thinlto-weak, r=michaelwoerister
...
rustc: Further tweak linkage in ThinLTO
In #46382 the logic around linkage preservation with ThinLTO ws tweaked but the
loop that registered all otherwise exported GUID values as "don't internalize
me please" was erroneously too conservative and only asking "external" linkage
items to not be internalized. Instead we actually want the inversion of that
condition, everything *without* "local" linkage to be internalized.
This commit updates the condition there, adds a test, and...
Closes #46543
2017-12-08 08:48:02 +00:00
Agustin Chiappe Berrini
cbd25ed8f4
deny instead of warn
2017-12-08 03:13:13 -05:00
Thayne McCombs
00acdbd51d
Make drop impl stable for DrainFilter
2017-12-07 23:52:34 -07:00
Thayne McCombs
37335d3f43
Add Drop impl for linked_list::DrainFilter
2017-12-07 22:20:25 -07:00
bors
5f4b09ee48
Auto merge of #46574 - GuillaumeGomez:rollup, r=GuillaumeGomez
...
Rollup of 5 pull requests
- Successful merges: #46416 , #46444 , #46526 , #46539 , #46548
- Failed merges:
2017-12-08 02:36:15 +00:00
Guillaume Gomez
0b47f02267
Rollup merge of #46548 - jonathanstrong:master, r=dtolnay
...
Recommends lazily evaluated alternatives for `Option::or` and `Result::or`
Adds language to docs for `Option` and `Result` recommending the use of lazily evaluated alternatives when appropriate. These comments are intended to echo a [clippy lint] on the same topic. The [reddit discussion] may also be of interest.
[clippy lint]: https://rust-lang-nursery.github.io/rust-clippy/master/index.html#or_fun_call
[reddit discussion]: https://www.reddit.com/r/rust/comments/7hutqn/perils_of_optionor_and_resultor/
2017-12-07 23:59:04 +01:00