Commit Graph

104247 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
ca528fcc04
Rollup merge of #67504 - Mark-Simulacrum:note-data-offset, r=Centril
Warn against relying on ?Sized being last

Fixes #62522
2019-12-22 02:40:07 +01:00
Mazdak Farrokhzad
c35546383f
Rollup merge of #67500 - JohnTitor:non-shorthand-field-patterns, r=Centril
Tweak non_shorthand_field_patterns' suggestion

Fixes #66434

r? @estebank
2019-12-22 02:40:06 +01:00
Mazdak Farrokhzad
eaeb1138c6
Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=Centril
Require issue = "none" over issue = "0" in unstable attributes

These changes make the use of `issue = "none"` required in unstable attributes throughout the compiler.

Notes:
- #66299 is now in beta so `issue = "none"` is accepted.
- The `tidy` tool now fails on `issue = "0"`.
- Tests that used `issue = "0"` were changed to use `issue = "none"`, except for _one_ that asserts `issue = "0"` can still be used.
- The compiler still allows `issue = "0"` because some submodules require it, this could be disallowed once these are updated.

Resolves #41260

r? @varkor
2019-12-22 02:40:04 +01:00
Mazdak Farrokhzad
877dc9daa8
Rollup merge of #67439 - Centril:clean-hair-slice, r=matthewjasper
Cleanup `lower_pattern_unadjusted` & Improve slice pat typeck

Following up on https://github.com/rust-lang/rust/pull/67318, in this PR, the HAIR lowering of patterns (`lower_pattern_unadjusted`) is cleaned up with a focus on slice patterns (in particular, some dead code is removed). Moreover, `check_pat_slice` is refactored some more.

r? @matthewjasper
2019-12-22 02:40:03 +01:00
Mazdak Farrokhzad
35ff2f1df3
Rollup merge of #67410 - mati865:mingw_link_fix, r=Mark-Simulacrum
Reenable static linking of libstdc++ on windows-gnu

Fixes https://github.com/rust-lang/rust/issues/67408

Verified locally that `rustc_driver` is now statically linked to libstdc++.
2019-12-22 02:40:01 +01:00
Mazdak Farrokhzad
616373e668
Rollup merge of #67148 - Centril:ty-polish, r=estebank
Refactor type & bounds parsing thoroughly

PR is based on https://github.com/rust-lang/rust/pull/67131 with first one from this PR being ` extract parse_ty_tuple_or_parens`.

Also fixes #67146.

r? @estebank
2019-12-22 02:40:00 +01:00
Mark Rousskov
a34c2677af Warn against relying on ?Sized being last 2019-12-21 20:35:41 -05:00
Yuki Okushi
30e84b0244 Tweak non_shorthand_field_patterns' suggestion 2019-12-22 08:21:36 +09:00
bors
5535c25314 Auto merge of #67495 - Centril:rollup-6aer3xg, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #67160 (Make GATs less ICE-prone.)
 - #67333 ([mir-opt] Fix `Inline` pass to handle inlining into `box` expressions)
 - #67420 (use _val to ignore parameter of any::type_name_of_val)
 - #67469 (Remove rustc-dev from the default nightly components)
 - #67489 (Drop petgraph dependency from bootstrap)
 - #67490 (Document privacy of RangeInclusive fields)
 - #67491 (use Result::map_or for bootstrap)

Failed merges:

r? @ghost
2019-12-21 20:59:22 +00:00
LeSeulArtichaut
62714f8b17 Update unstable book build to use NonZeroU32 2019-12-21 20:45:36 +02:00
Mazdak Farrokhzad
db4818f325 span_suggestion_hidden -> tool_only_span_suggestion 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
52fa020bbf unwrap -> expect 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
d6f37c66c7 parse_ty_bare_fn: improve docs 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
d0105600d1 document parse_late_bound_lifetime_defs 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
f221b394de extract error_negative_bounds 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
b5f00beaa5 parse_generic_bounds: account for negative lifetime bounds 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
4625ba4872 simplify 'let question = ...;' 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
f215ca9be6 simplify negative bound diagnostic 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
4b073a1f4a extract parse_generic_lt_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
50e00c73ee extract parse_generic_ty_bound 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad
1cfeb56773 parse_generic_bound: leave a FIXME 2019-12-21 19:20:41 +01:00
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