Guillaume Gomez
a06c6bd63c
Fix mobile doc style and improve search bar
2017-12-11 22:30:04 +01:00
bors
9fe7aa353f
Auto merge of #46608 - estebank:resolve-return, r=nikomatsakis
...
Resolve type on return type suggestion
Partially address #45871 .
2017-12-11 21:14:13 +00:00
Niko Matsakis
fdbd9b0dd5
make krate
infallible
2017-12-11 15:52:46 -05: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
Niko Matsakis
b7794c0d3f
move resolve_lifetimes
into a proper query
...
Now that we made `resolve_lifetimes` into a query, elision errors no
longer abort compilation, which affects some tests.
Also, remove `dep_graph_crosscontaminate_tables` -- there is no a path in
the dep-graph, though red-green handles it. The same scenario
is (correctly) tested by issue-42602.rs in any case.
2017-12-11 10:11:13 -05:00
Niko Matsakis
d737ea7902
resolve_lifetime: rustfmt
2017-12-11 09:00:05 -05:00
Oliver Schneider
7e5583b7f8
Merge remote-tracking branch 'origin/master' into miri
2017-12-11 10:01:29 +01: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
Esteban Küber
92da91313c
Add closure defined outside of call case to arg count mismatch test
2017-12-10 21:03:58 -08: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
varkor
e4dc11d98d
Add std::fmt::Pointer
implementation for AtomicPtr
...
Resolves #29212 .
2017-12-10 23:21:26 +00:00
Esteban Küber
8ee82d08ac
Point at whole method call instead of args
...
To avoid confusion in cases where the code is
```rust
fn foo() {}
/ foo(
| bar()
| ^^^ current diagnostics point here for arg count mismatch
| );
|_^ new diagnostic span points here
```
as this leads to confusion making people think that the diagnostic is
talking about `bar`'s arg count, not `foo`'s.
Point at `fn`s definition on arg mismatch, just like we do for closures.
2017-12-10 13:37:12 -08: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
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