Commit Graph

79287 Commits

Author SHA1 Message Date
Esteban Küber
3580de8c6d Turn warning into lint 2018-06-06 14:11:48 -07:00
Felix S. Klock II
e5b378b18d Update the expected error output to reflect changes in this PR. 2018-06-06 22:42:27 +02:00
Felix S. Klock II
9b24595226 Drive-by: Make assignment conflict tests in borrowck-vec-pattern-nesting.rs robust for NLL. 2018-06-06 22:42:27 +02:00
Felix S. Klock II
fbe7d5bce8 When NLL has illegal move due to borrowed content, provide feedback about why the move wasn't a copy.
This should address #51190.
2018-06-06 22:42:27 +02:00
Felix S. Klock II
50224ec1a9 It turns out that the diagnostics generated from NLL for these cases are now exactly the same as that produced by AST borrowck. Bravo! 2018-06-06 22:41:00 +02:00
bors
19d0b539aa Auto merge of #51263 - cramertj:futures-in-core, r=aturon
Add Future and task system to the standard library

This adds preliminary versions of the `std::future` and `std::task` modules in order to unblock development of async/await (https://github.com/rust-lang/rust/issues/50547). These shouldn't be considered as final forms of these libraries-- design questions about the libraries should be left on https://github.com/rust-lang/rfcs/pull/2418. Once that RFC (or a successor) is merged, these APIs will be adjusted as necessary.

r? @aturon
2018-06-06 19:42:19 +00:00
Esteban Küber
2c7099baeb Expand output and suggestions, fix tests 2018-06-06 12:31:43 -07:00
Taylor Cramer
a6055c8859 Add Future and task system to the standard library 2018-06-06 10:41:52 -07:00
Esteban Küber
36381fabaf Warn on repr without hints 2018-06-06 10:02:09 -07:00
bors
cb8ab33ed2 Auto merge of #51333 - GuillaumeGomez:reexport-fmt-alignment, r=SimonSapin
Reexport fmt::Alignment into std

Follow-up of #51078.
2018-06-06 17:01:56 +00:00
Konrad Borowski
b7fcf8f576
Increase number of usages of u8 in weird expressions u8 test 2018-06-06 18:42:34 +02:00
Esteban Küber
7d0b6b75f0 When unable to sinthesize link span, fallback to previous behavior 2018-06-06 09:38:47 -07:00
Esteban Küber
507dfd2148 Use spans pointing at the inside of a rustdoc attribute 2018-06-06 08:49:42 -07:00
Gergely Nagy
f1c9247663 NLL performance boost 2018-06-06 17:31:24 +02:00
dylan_DPC
8ecbd351bb fix stderrs 2018-06-06 20:51:57 +05:30
bors
35aeecb8aa Auto merge of #51201 - estebank:dotdot, r=petrochenkov
Accept `..` in incorrect position to avoid further errors

We currently give a specific message when encountering a `..` anywhere
other than the end of a pattern. Modify the parser to accept it (while
still emitting the error) so that we don't also trigger "missing fields
in pattern" errors afterwards.

Add suggestions to either remove trailing `,` or moving the `..` to the
end.

Follow up to #49268.
2018-06-06 14:04:06 +00:00
John Kåre Alsaker
f273f285b8 Update Cargo 2018-06-06 15:25:47 +02:00
John Kåre Alsaker
131ef97c4b Reduce the amount of unsafe code and mark handle_deadlock as unsafe 2018-06-06 15:25:19 +02:00
John Kåre Alsaker
3e83248441 Add comments 2018-06-06 15:25:19 +02:00
John Kåre Alsaker
b2555bd545 Make QueryWaiter use safe code 2018-06-06 15:25:18 +02:00
John Kåre Alsaker
3571684d2c Create thread-pool 2018-06-06 15:25:18 +02:00
John Kåre Alsaker
c819ba043a Add comments and misc changes 2018-06-06 15:25:18 +02:00
John Kåre Alsaker
302aae5864 Use raw pointers 2018-06-06 15:25:18 +02:00
John Kåre Alsaker
090b8341bc Add and use OnDrop::disable 2018-06-06 15:25:17 +02:00
John Kåre Alsaker
77259af56a Use try_lock in collect_active_jobs 2018-06-06 15:25:17 +02:00
John Kåre Alsaker
d85b5eadea Update Rayon version 2018-06-06 15:25:16 +02:00
John Kåre Alsaker
f9e6fbc4f7 Make queries block and handle query cycles 2018-06-06 15:25:16 +02:00
Simon Sapin
5c7ca77b17 Make the size of Option<NonZero*> a documented guarantee.
Closes #49137, the tracking issue for `NonZero*`,
as this was the last remaining open question.

Note that `ptr::NonNull<T>` already documents a similar guarantee.
2018-06-06 13:58:09 +02:00
bors
9ac372568b Auto merge of #51316 - oli-obk:const_err, r=nikomatsakis
Refactor the const eval diagnostic API

* no longer report "const eval error" for things that have typeck errors
* errors and lints have saner spans and messages
* unified the diagnostic logic (const eval errors were slightly different depending on where they were reported, and there was also code duplication between the different reporters)
* report errors if an erroneous constant is used inside a promoted (fixes most of #50814)
2018-06-06 11:17:15 +00:00
Nicholas Nethercote
5c36e01f35 Use scope tree depths to speed up nearest_common_ancestor.
This patch adds depth markings to all entries in the `ScopeTree`'s
`parent_map`. This change increases memory usage somewhat, but permits a
much faster algorithm to be used:

- If one scope has a greater depth than the other, the deeper scope is
  moved upward until they are at equal depths.

- Then we move the two scopes upward in lockstep until they match.

This avoids the need to keep track of which scopes have already been
seen, which was the major part of the cost of the old algorithm. It also
reduces the number of child-to-parent moves (which are hash table
lookups) when the scopes start at different levels, because it never
goes past the nearest common ancestor the way the old algorithm did.

Finally, the case where one of the scopes is the root is now handled in
advance, because that is moderately common and lets us skip everything.

This change speeds up runs of several rust-perf benchmarks, the best by
6%.
2018-06-06 20:08:34 +10:00
bors
685faa2c3e Auto merge of #50844 - bjorn3:adhoc_compiller_calls, r=nrc
Add AdHocCalls and pass self to build_controller as Box<Self>

This makes it easier to write custom drivers.
2018-06-06 08:14:11 +00:00
dylan_DPC
1048ae29a1 append unused variables with _ 2018-06-06 12:22:38 +05:30
Oliver Middleton
e73941a06b rustdoc: Fix missing stability and src links for inlined external macros 2018-06-06 04:13:55 +01:00
Mark Simulacrum
b1a8088fdb Remove fmt_macros dependency 2018-06-05 15:55:07 -06:00
Oliver Schneider
14d08e5371 Rebase fallout 2018-06-05 21:08:43 +02:00
Oliver Schneider
8a74be6684 Add source information the const propagation of places 2018-06-05 20:49:47 +02:00
Oliver Schneider
5950496c92 Remove another unused error variant 2018-06-05 20:49:47 +02:00
Oliver Schneider
848080dc42 Remove unused IndexOutOfBounds variant 2018-06-05 20:49:47 +02:00
Oliver Schneider
13a55e8801 Satisfy the untiring tidy 2018-06-05 20:49:47 +02:00
Oliver Schneider
78d48867da Properly report transitive errors 2018-06-05 20:49:47 +02:00
Oliver Schneider
9cb47de813 Referring to erroneous constants in promoteds must abort the build 2018-06-05 20:49:46 +02:00
Oliver Schneider
5c0d1355f2 Refactor the const eval diagnostic API 2018-06-05 20:49:46 +02:00
dylan_DPC
e8fd74a11d remove redundant match branch 2018-06-05 23:44:42 +05:30
dylan_DPC
4cbf400366 flag changed to none 2018-06-05 23:28:32 +05:30
bjorn3
cc5c1a0abb Add comment 2018-06-05 18:05:12 +02:00
bjorn3
4e0ee758b7 Impl CompilerCalls for CompileController instead of AdHocCompilerCalls 2018-06-05 18:04:18 +02:00
bjorn3
4f45b0611c Add AdHocCalls and pass self to build_controller as Box<Self> 2018-06-05 18:03:47 +02:00
Esteban Küber
d66d35bb91 Account for comma in suggestion 2018-06-05 08:48:55 -07:00
Esteban Küber
cbc70a0d68 Improve diagnostics for incorrect .. usage
When using `..` somewhere other than the end, parse the rest of the
pattern correctly while still emitting an error.

Add suggestions to either remove trailing `,` or moving the `..` to the
end.
2018-06-05 08:48:55 -07:00
Esteban Küber
8f4a5429c2 Accept .. in incorrect position to avoid further errors
We currently give a specific message when encountering a `..` anywhere
other than the end of a pattern. Modify the parser to accept it (while
still emitting the error) so that we don't also trigger "missing fields
in pattern" errors afterwards.
2018-06-05 08:48:54 -07:00