Commit Graph

104307 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
c67c30dba6 refactor parse_ty_tuple_or_parens 2019-12-21 18:34:00 +01:00
Mazdak Farrokhzad
f3ef4a416d extract parse_ty_tuple_or_parens 2019-12-21 18:34:00 +01:00
Lzu Tao
f3d7e03472 use Result::map_or for bootstrap 2019-12-21 17:04:41 +00:00
Lzu Tao
c93198f90e use _val to ignore parameter of any::type_name_of_val 2019-12-21 16:48:35 +00:00
Mark Rousskov
519fc84852 Document privacy of RangeInclusive fields 2019-12-21 11:27:51 -05:00
Mark Rousskov
28af652793 Drop petgraph dependency from bootstrap
It was essentially unused, likely leftover from a previous refactoring
iteration.
2019-12-21 10:54:15 -05:00
Christian Poveda
309f437e1d
Change results to options 2019-12-21 10:27:58 -05:00
bors
0a440b1594 Auto merge of #67485 - Centril:rollup-gt0opvr, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #67059 (Fix too restrictive checks on Drop impls)
 - #67355 (Merge `ast::Mutability` and `mir::Mutability`)
 - #67393 (Enable opting out of specific default LLVM arguments.)
 - #67422 (Cleanup err codes)
 - #67462 (Make ptr::slice_from_raw_parts a const fn available under a feature flag)
 - #67467 (Test slice patterns more)
 - #67478 (Fix src/libcore/str/mod.rs doc comments)

Failed merges:

r? @ghost
2019-12-21 14:30:26 +00:00
Mazdak Farrokhzad
466fdeaed5
Rollup merge of #67478 - brunobell:master, r=Centril
Fix src/libcore/str/mod.rs doc comments

Fix grammar in src/libcore/str/mod.rs doc comments. r? @steveklabnik
2019-12-21 15:29:50 +01:00
Mazdak Farrokhzad
0a2813c6ec
Rollup merge of #67467 - matthewjasper:test-slice-patterns, r=oli-obk
Test slice patterns more

Adds tests for const evaluation and some more borrow checking tests.

Fixes some bugs in const eval for subslice patterns.
closes #66934

r? @oli-obk
cc @Centril
2019-12-21 15:29:49 +01:00
Mazdak Farrokhzad
f43ced3dbc
Rollup merge of #67462 - DutchGhost:const_slice_from_raw_parts, r=dtolnay
Make ptr::slice_from_raw_parts a const fn available under a feature flag

A first step in the direction of https://github.com/rust-lang/rust/issues/67456 .
This makes `ptr::slice_from_raw_parts` and `ptr::slice_from_raw_parts_mut` available as a const fn under a feature flag.
2019-12-21 15:29:47 +01:00
Mazdak Farrokhzad
a01f956f98
Rollup merge of #67422 - GuillaumeGomez:cleanup-err-codes, r=Dylan-DPC
Cleanup err codes

r? @Dylan-DPC
2019-12-21 15:29:45 +01:00
Mazdak Farrokhzad
6e3b1d63b6
Rollup merge of #67393 - michaelwoerister:llvm-args-override, r=varkor
Enable opting out of specific default LLVM arguments.

`rustc` by default adds a few arguments to LLVM (like `-mergefunc-use-aliases` for example). With this PR `rustc` will only emit these arguments if the same argument has not already been specified by the user via `-Cllvm-args`. This enables opting out of these defaults.

The PR also removes a PGO specific `-Z` flag the effect of which can also be easily achieved by `-Cllvm-args`.

Fixes https://github.com/rust-lang/rust/issues/64310.
2019-12-21 15:29:44 +01:00
Mazdak Farrokhzad
c0bf3afc96
Rollup merge of #67355 - Centril:merge-mut, r=oli-obk
Merge `ast::Mutability` and `mir::Mutability`

r? @oli-obk
2019-12-21 15:29:42 +01:00
Mazdak Farrokhzad
1113eb5cc0
Rollup merge of #67059 - TommasoBianchi:dropck_fix_pr, r=pnkfelix
Fix too restrictive checks on Drop impls

Fixes #34426. Fixes #58311.

This PR completes and extends #59497 (which has been inactive for a while now).
The problem generating both issues was that when checking that the `Predicate`s of the `Drop` impl are exactly the same as the ones of the struct definition, the check was essentially performed by a simple `==` operator, which was not handling correctly HRTBs and involved `Fn` types.

The implemented solution relies on the `relate` machinery to more correctly equate `Predicate`s, and on `anonymize_late_bound_regions` to handle HRTB in a more general way. As the `Relate` trait currently is implemented only for `TraitPredicate` and `ProjectionPredicate` (and as they were the ones generating problems), `relate` is used only for them while for other `Predicate`s the equality check is kept. I'm currently considering whether it would make sense to implement the `Relate` trait also for all other `Predicate`s to render the proposed solution more general.
2019-12-21 15:29:40 +01:00
Matthew Jasper
e7b8bfe5b9 Fix rustdoc 2019-12-21 12:35:28 +00:00
Matthew Jasper
c2687985b0 Update tests for GATs
* Make some run-pass or check-pass
* Use `#![allow(incomplete_features)]`
* Update FIXMEs now that some of the issues have been addressed
* Add regression tests
2019-12-21 12:35:28 +00:00
Matthew Jasper
8c3c446648 Add more tests for slice patterns 2019-12-21 12:29:30 +00:00
Ross MacArthur
f7256d28d1
Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
bors
c64eecf4d0 Auto merge of #66994 - Centril:stmt-polish, r=estebank
refactor expr & stmt parsing + improve recovery

Summary of important changes (best read commit-by-commit, ignoring whitespace changes):

- `AttrVec` is introduces as an alias for `ThinVec<Attribute>`
- `parse_expr_bottom` and `parse_stmt` are thoroughly refactored.
- Extract diagnostics logic for `vec![...]` in a pattern context.
- Recovery is added for `do catch { ... }`
- Recovery is added for `'label: non_block_expr`
- Recovery is added for `var $local`, `auto $local`, and `mut $local`. Fixes #65257.
- Recovery is added for `e1 and e2` and `e1 or e2`.
- ~~`macro_legacy_warnings` is turned into an error (has been a warning for 3 years!)~~
- Fixes #63396 by forward-porting #64105 which now works thanks to added recovery.
- `ui-fulldeps/ast_stmt_expr_attr.rs` is turned into UI and pretty tests.
- Recovery is fixed for `#[attr] if expr {}`

r? @estebank
2019-12-21 11:05:03 +00:00
Broono Lu
16b7fd2272 Fix src/libcore/str/mod.rs doc comments 2019-12-21 18:12:46 +08:00
Masaki Hara
6903836398 Remove iter_private.rs
The contents of this file have been moved in #56932 (520e8b0) and the
file should have been removed as well.
2019-12-21 15:16:03 +09:00
Wesley Wiser
f1325a78e6 Move the rest of the mir-opt inline tests into a folder 2019-12-20 20:39:47 -05:00
Wesley Wiser
bec4fc175a [mir-opt] Fix Inline pass to handle inlining into box expressions 2019-12-20 20:39:47 -05:00
bors
9ff30a7810 Auto merge of #67464 - Centril:rollup-j3mkl1m, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #67130 (Const prop should finish propagation into user defined variables)
 - #67163 (Split up ptr/mod.rs in libcore...)
 - #67314 (Don't suppress move errors for union fields)
 - #67392 (Fix unresolved type span inside async object)
 - #67404 (Separate region inference logic from error handling better)
 - #67428 (`is_binding_pat`: use explicit match & include or-pats in grammar)

Failed merges:

r? @ghost
2019-12-21 01:02:54 +00:00
Josh Stone
2206218d59 Remove rustc-dev from the default nightly components
It was already filtered from other branches, but we only kept it in
nightly's default to ease the transition. Now that the separation of
rust-std/rustc-dev has reached the 1.40 release, it seems like a good
time for that transition to end.
2019-12-20 15:45:03 -08:00
Matthew Jasper
d490c34086 Don't ICE in subslice pattern const-eval 2019-12-20 23:11:56 +00:00
Mazdak Farrokhzad
621661f8a6 tweak var/auto/mut recovery 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
49826845a9 use .span_suggestion_short for && 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
19db2d2fed ast_stmt_expr_attr -> pretty & ui tests 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
9b53c5be06 fix bug in parse_tuple_parens_expr + related refactoring 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
66470d3217 recover #[attr] if expr {} 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
c9e1f13f6e recover on 'mut', 'var', 'auto' 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
a0d20935cc introduce 'type AttrVec' 2019-12-20 22:53:40 +01:00
Mazdak Farrokhzad
3d5dbcb44a simplify parse_bottom_expr more 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
948ff674f9 use mk_expr_err more 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
4311a4d7f9 extract parse_lit_expr and simplify 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
e9a4d94c44 extract parse_break_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
a3c0ef1a8b refactor parse_incorrect_await_syntax 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
2f9b191886 extract parse_{expr_opt, return_expr, yield_expr} 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
327641e35c recover on 'do catch { .. }' 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
32ac9d0e45 pass attr as param in new methods 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
4e01b70964 add recovery to parse_labeled_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
3ed5ba7fa8 extract parse_labeled_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
5f0f86b6ca extract parse_path_start_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
cb985ba60f extract parse_array_or_repeat_expr 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
9cb2b08a5d extract parse_tuple_parens_expr 2019-12-20 22:41:29 +01:00
A C
0c32ee1781 Clean up parse_bottom_expr 2019-12-20 22:41:29 +01:00
A C
0b7908c550 Add a UI test for correct parsing 2019-12-20 22:41:29 +01:00
Mazdak Farrokhzad
dd15904a4d parse_bottom_expr: use else if 2019-12-20 22:41:29 +01:00