Commit Graph

104533 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
18e5b2f98c functionalize parse_generic_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
8a9a992a64 extract parse_generic_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
fd89104966 extract can_begin_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
e61cb44f2f parse_generic_bounds_common: dedent 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
a11252ae26 extract recover_paren_lifetime 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
b484faefab extract error_opt_out_lifetime 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
3f499a97e4 parser/ty.rs: minor formatting tweaks 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
3b1fab8c1f parse_ty_common: .fatal -> .struct_span_err 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
6f1f6a6c33 extract error_illegal_c_variadic_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
85d3ed9c90 extract parse_path_start_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
b7071f2bc0 extract parse_dyn_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
edb7b96c84 extract parse_impl_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
e08886d251 extract parse_typeof_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
211560d05c extract parse_array_or_slice_ty 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
7d297044d7
Rollup merge of #67491 - lzutao:res-map-or, r=Mark-Simulacrum
use Result::map_or for bootstrap
2019-12-21 19:07:44 +01:00
Mazdak Farrokhzad
5a0f17e849
Rollup merge of #67490 - Mark-Simulacrum:i-67371, r=Dylan-DPC
Document privacy of RangeInclusive fields

Fixes #67371
2019-12-21 19:07:42 +01:00
Mazdak Farrokhzad
2135cc48e2
Rollup merge of #67489 - Mark-Simulacrum:drop-petgraph, r=Centril
Drop petgraph dependency from bootstrap

It was essentially unused, likely leftover from a previous refactoring iteration. This should hopefully help reduce bootstrap build times a little, dropping petgraph, fixedbitset, and ordermap from the dependency set.

r? @alexcrichton
2019-12-21 19:07:40 +01:00
Mazdak Farrokhzad
b9a6d74902
Rollup merge of #67469 - cuviper:no-default-rustc-dev, r=Mark-Simulacrum
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.

Closes #67425.
r? @Mark-Simulacrum
2019-12-21 19:07:39 +01:00
Mazdak Farrokhzad
9fa2046ed9
Rollup merge of #67420 - lzutao:_val, r=Centril
use _val to ignore parameter of any::type_name_of_val

mem::drop does the same thing too.
2019-12-21 19:07:37 +01:00
Mazdak Farrokhzad
ac6dbff45e
Rollup merge of #67333 - wesleywiser:fix_inline_into_box_place, r=oli-obk
[mir-opt] Fix `Inline` pass to handle inlining into `box` expressions

r? @oli-obk

Before, the test case just ICE'd here:

a605441e04/src/librustc_mir/transform/inline.rs (L668)
2019-12-21 19:07:36 +01:00
Mazdak Farrokhzad
b50c3b7ddf
Rollup merge of #67160 - matthewjasper:gat-generics, r=nikomatsakis
Make GATs less ICE-prone.

After this PR simple lifetime-generic associated types can now be used in a compiling program. There are two big limitations:

* #30472 has not been addressed in any way (see src/test/ui/generic-associated-types/iterable.rs)
* Using type- and const-generic associated types errors because bound types and constants aren't handled by trait solving.
    * The errors are technically non-fatal, but they happen in a [part of the compiler](4abb0ad273/src/librustc_typeck/lib.rs (L298)) that fairly aggressively stops compiling on errors.

closes #47206
closes #49362
closes #62521
closes #63300
closes #64755
closes #67089
2019-12-21 19:07:31 +01:00
bors
fc5deca214 Auto merge of #67206 - ehuss:update-cargo-books, r=dtolnay
Update cargo, books

Update nomicon, cargo, reference, book, rust-by-example, embedded-book

## nomicon

2 commits in 041c46e692a2592853aeca132c8dfe8eb5a79a9e..8be35b201f9cf0a4c3fcc96c83ac21671dcf3112
2019-11-20 16:46:45 +0100 to 2019-12-01 13:02:12 -0500
- Update unwinding.md
- ci: remove needless rust-docs component

## cargo

15 commits in 626f0f40efd32e6b3dbade50cd53fdfaa08446ba..5a139f7e6d67fd8a416a3f19d8e01581d24c0333
2019-12-03 16:53:04 +0000 to 2019-12-10 20:17:50 +0000
- Bump cargo-platform version. (rust-lang/cargo#7693)
- Add a test for `cargo locate-project` (rust-lang/cargo#7690)
- Emit error on [target.'cfg(debug_assertions)'.dependencies] and similar (rust-lang/cargo#7660)
- Update the layout of `Cargo Commands` in doc (rust-lang/cargo#7687)
- Features and dependencies can't have the same name (rust-lang/cargo#7682)
- Fix some typos in doc (rust-lang/cargo#7672)
- Add test for `NAME` environment variable when `cargo new` (rust-lang/cargo#7667)
- Add test for `GIT_COMMITTER_EMAIL` when `cargo new` (rust-lang/cargo#7666)
- document support for Bitbucket Pipelines badges (rust-lang/cargo#7663)
- Add cargo-vendor to the list of cargo commands in doc (rust-lang/cargo#7659)
- Fix typo in section 'Caching the Cargo home in CI' (rust-lang/cargo#7661)
- Docs: Add an appendix on git authentication. (rust-lang/cargo#7658)
- Remove --offline empty index error. (rust-lang/cargo#7655)
- Change the link destination of cargo book contribution (rust-lang/cargo#7657)
- Add a --offline hint. (rust-lang/cargo#7654)

## reference

2 commits in 9e843aeb4df083522c7277179bbaa25d0507731c..787e8d84034a4a0ae17084bbae25474152144b9a
2019-11-24 17:44:04 +0100 to 2019-12-10 10:01:29 -0800
- Update for visibility syntax changes. (rust-lang-nursery/reference#722)
- document `bind_by_move_pattern_guards` (rust-lang-nursery/reference#720)

## book

2 commits in 81ebaa2a3f88d4d106516c489682e64cacba4f60..ef8bb568035ded8ddfa30a9309026638cc3c8136
2019-11-15 08:30:04 -0800 to 2019-11-28 11:00:04 -0600
- Remove optional commas from match arms in ch18-03 (rust-lang/book#2176)
- Remove call_box() from ch20-03 (rust-lang/book#2177)

## rust-by-example

1 commits in 4835e025826729827a94fdeb7cb85fed288d08bb..b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4
2019-11-14 09:20:43 -0300 to 2019-12-02 11:38:43 -0300
- Make TryFrom & TryInto example editable (rust-lang/rust-by-example#1297)

## embedded-book

1 commits in 5ca585c4a7552efb546e7681c3de0712f4ae4fdc..c26234930282210849256e4ecab925f0f2daf3be
2019-08-27 13:39:14 +0000 to 2019-12-07 17:25:11 +0000
- Fix `impl Gpio` -> `impl GpioConfig`  (rust-embedded/book#216)
2019-12-21 17:52:47 +00:00
Mazdak Farrokhzad
3838b602f5 parse_ptr -> parse_ty_ptr & refactor 2019-12-21 18:34:00 +01:00
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