Commit graph

29075 commits

Author SHA1 Message Date
Yuki Okushi
913a933202
Rollup merge of #69460 - LeSeulArtichaut:move-compile-pass, r=RalfJung
Move some `build-pass` tests to `check-pass`

Helps with #62277.

r? @cramertj cc @Centril
2020-03-14 04:03:22 +09:00
LeSeulArtichaut
8f0fa24d7b Move some more tests to check-pass 2020-03-12 17:22:44 +01:00
LeSeulArtichaut
7326e530f2 Move some const-eval build-pass tests to check-pass 2020-03-12 16:58:34 +01:00
Mazdak Farrokhzad
39c6405097
Rollup merge of #69747 - spastorino:rename-rustc-guide, r=pietroalbini
Rename rustc guide

This is in preparation for https://github.com/rust-lang/rustc-guide/issues/470
Needs to be merged after we actually rename the guide.

Have used this to rename:

`git grep -l 'rustc_guide' | xargs sed -i 's/rustc_guide/rustc_dev_guide/g'`
`git grep -l 'rustc-guide' | xargs sed -i 's/rustc-guide/rustc-dev-guide/g'`
`git grep -l 'rustc guide' | xargs sed -i 's/rustc guide/rustc dev guide/g'`
2020-03-12 16:32:19 +01:00
Mazdak Farrokhzad
4f7fc5ad67
Rollup merge of #69722 - estebank:negative-impl-span-ast, r=Centril
Tweak output for invalid negative impl AST errors

Use more accurate spans for negative `impl` errors.

r? @Centril
2020-03-12 16:32:17 +01:00
Mazdak Farrokhzad
e838383ff8
Rollup merge of #69876 - ayushmishra2005:doc/61137-add-long-error-code-e0739, r=Dylan-DPC
Add long error explanation for E0739

Add long explanation for the E0739 error code
Part of #61137

r? @GuillaumeGomez
2020-03-11 14:03:51 +01:00
Mazdak Farrokhzad
9674c09ae9
Rollup merge of #69760 - Centril:parse-expr-improve, r=estebank
Improve expression & attribute parsing

This PR includes misc improvements to expression and attribute parsing.

1. Some code simplifications
2. Better recovery for various block forms, e.g. `loop statements }` (missing `{` after `loop`). (See e.g., `block-no-opening-brace.rs` among others for examples.)
3. Added recovery for e.g., `unsafe $b` where `$b` refers to a `block` macro fragment. (See `bad-interpolated-block.rs` for examples.)
4. ^--- These are done so that code sharing in block parsing is increased.
5. Added recovery for e.g., `'label: loop { ... }` (See `labeled-no-colon-expr.rs`.)
6. Added recovery for e.g., `&'lifetime expr` (See `regions-out-of-scope-slice.rs`.)
7. Added recovery for e.g., `fn foo() = expr;` (See `fn-body-eq-expr-semi.rs`.)
8. Simplified attribute parsing code & slightly improved diagnostics.
9. Added recovery for e.g., `Box<('a) + Trait>`.
10. Added recovery for e.g, `if true #[attr] {} else #[attr] {} else #[attr] if true {}`.

r? @estebank
2020-03-11 14:03:45 +01:00
Mazdak Farrokhzad
741d4ff713
Rollup merge of #66472 - GuillaumeGomez:show-coverage-json, r=ollie27
--show-coverage json

The purpose of this change is to be able to use it as a tool in docs.rs in order to provide some more stats to crates' owners. Eventually even create a badge or something along the line.

r? @QuietMisdreavus
2020-03-11 14:03:42 +01:00
Mazdak Farrokhzad
6a8683fcd0
Rollup merge of #69896 - petrochenkov:reqname2, r=Centril
parse: Tweak the function parameter edition check

Follow-up to https://github.com/rust-lang/rust/pull/69801.

Edition of a code fragment is inferred from "the place where the code is written".
For individual tokens like edition-specific keywords it may be the span of the token itself ("uninterpolated" span), but for larger code fragments it's probably not, in the test example the trait method is obviously written in "2015 edition code".

r? @Centril
2020-03-11 10:36:33 +01:00
Mazdak Farrokhzad
a05bab5925
Rollup merge of #69891 - Centril:fix-69875, r=varkor
Exhaustiveness checking, `Matrix::push`: recursively expand or-patterns

> There's an implicit invariant that there should be no or-patterns directly in the first column of the matrix, but this invariant is broken exactly when an or-pattern has a child that is itself an or-pattern.

Here we preserve this broken invariant by recursively expanding `PatKind::Or`s in `Matrix::push`.
Fixes https://github.com/rust-lang/rust/issues/69875.

r? @varkor
cc @Nadrieril
cc https://github.com/rust-lang/rust/issues/54883
2020-03-11 10:36:31 +01:00
Mazdak Farrokhzad
62e3daee3f
Rollup merge of #69859 - contrun:fix-62456, r=matthewjasper
fix #62456

closes https://github.com/rust-lang/rust/issues/62456
2020-03-11 10:36:29 +01:00
Mazdak Farrokhzad
dfbbd5d6ea
Rollup merge of #69825 - lcnr:discriminant, r=oli-obk
make `mem::discriminant` const

implements #69821, which could be used as a tracking issue for `const_discriminant`.

Should this be added to the meta tracking issue #57563?
@Lokathor
2020-03-11 10:36:28 +01:00
Mazdak Farrokhzad
d7f0b88ade
Rollup merge of #69591 - matthewjasper:query-response-relate, r=nikomatsakis
Use TypeRelating for instantiating query responses

`eq` can add constraints to `RegionConstraintData`, which isn't allowed during borrow checking outside of a `CustomTypeOp`. Use `TypeRelating` instead to always push constraints to the obligations list.

closes #69490
2020-03-11 10:36:19 +01:00
Mazdak Farrokhzad
43079147f4
Rollup merge of #69373 - tspiteri:const_int_conversion, r=oli-obk
Stabilize const for integer {to,from}_{be,le,ne}_bytes methods

All of these functions can be implemented simply and naturally as const functions, e.g. `u32::from_le_bytes` can be implemented as
```rust
(bytes[0] as u32)
    | (bytes[1] as u32) << 8
    | (bytes[2] as u32) << 16
    | (bytes[3] as u32) << 24
```
So stabilizing the constness will not expose that internally they are implemented using transmute which is not const in stable.
2020-03-11 10:36:18 +01:00
Mazdak Farrokhzad
a7c2eef2ae
Rollup merge of #66059 - RalfJung:panic-on-non-zero, r=eddyb
mem::zeroed/uninit: panic on types that do not permit zero-initialization

r? @eddyb @oli-obk

Cc https://github.com/rust-lang/rust/issues/62825

Also see [this summary comment](https://github.com/rust-lang/rust/pull/66059#issuecomment-586734747)
2020-03-11 10:36:16 +01:00
Esteban Küber
29be741c9c review comments 2020-03-10 17:59:32 -07:00
Santiago Pastorino
b3b32b74bc
rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
Santiago Pastorino
9d4fdba8be
Rename rustc guide to rustc dev guide 2020-03-10 17:08:16 -03:00
Santiago Pastorino
0037f4e37c
Rename rustc-guide to rustc-dev-guide 2020-03-10 17:08:10 -03:00
Vadim Petrochenkov
6b27e8d2a6 parse: Tweak the function parameter edition check
Move anon-params tests to ui/anon-params.
2020-03-10 22:35:01 +03:00
bors
1581278534 Auto merge of #66364 - Centril:cleanup-macro-def, r=petrochenkov,eddyb
Cleanup `rmeta::MacroDef`

Avoid using rountrip parsing in the encoder and in `fn load_macro_untracked`.

The main reason I was interested in this was to remove `rustc_parse` as a dependency of `rustc_metadata` but it seems like this had other benefits as well.

Fixes #49511.

r? @eddyb
cc @matthewjasper @estebank @petrochenkov
2020-03-10 17:12:48 +00:00
Mazdak Farrokhzad
4d16c217b8 Matrix::push: recursively expand or-patterns 2020-03-10 17:46:19 +01:00
Bastian Kauschke
7b3e3ff39a explain the use of a custom identity function 2020-03-10 12:46:22 +01:00
Mazdak Farrokhzad
458383dd33 parse_if_expr: recover on attributes 2020-03-10 08:55:18 +01:00
Mazdak Farrokhzad
ba3ae46de9 trait-object-lifetime-parens: improve recovery. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
d1822b3dcf use check_path more 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
c0b073bc62 simplify & improve parse_ty_tuple_or_parens 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
25cd01b863 issue 68890: add more minimal repro 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
09997e7227 error_block_no_opening_brace: handle closures better 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
c01b3e6996 block-no-opening-brace: add another statement 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
65b7ba5129 parser: add note for 'label expr. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
e72df7edad parse_labeled_expr: add a suggestion on missing colon. 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
addbc5b9df unify/improve/simplify attribute parsing 2020-03-10 08:35:23 +01:00
Mazdak Farrokhzad
be86b2d37b parse: recover on fn foo() = expr; 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
055733f3b3 parse: recover on &'lt $expr / 'lt $expr. 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
8ee220c447 more reuse in block parsing & improve diagnostics. 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
c303c4463c use error_block_no_opening_brace more 2020-03-10 08:32:34 +01:00
Mazdak Farrokhzad
bafa5cc9ba macros/unknown-builtin: use hack for musl problems 2020-03-10 08:30:07 +01:00
Mazdak Farrokhzad
87b6bc3518 span-api-tests: leave FIXME 2020-03-10 07:26:27 +01:00
Ana-Maria Mihalache
4809be0137 rustc_errors: Use ensure_source_file_source_present where necessary. 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
cf2d4236eb --bless some tests 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
b3bc427228 adjust span-api-tests.rs 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
192d134e80 pacify rustdoc by using better url 2020-03-10 07:26:27 +01:00
Mazdak Farrokhzad
436f2ec58c
Rollup merge of #69836 - JohnTitor:immediate-outputs, r=nagisa
Check if output is immediate value

Fixes #62046

r? @nagisa
2020-03-10 06:47:55 +01:00
Mazdak Farrokhzad
08095f4978
Rollup merge of #69817 - thekuom:test/borrow-checking-pattern-features, r=Centril
test(patterns): add patterns feature tests to borrowck test suite

Addresses request here: https://github.com/rust-lang/rust/pull/69690#issuecomment-595763571

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

r? @Centril
2020-03-10 06:47:53 +01:00
Mazdak Farrokhzad
61150353bf
Rollup merge of #69514 - GuillaumeGomez:remove-spotlight, r=kinnison
Remove spotlight

I had a few comments saying that this feature was at best misunderstood or not even used so I decided to organize a poll about on [twitter](https://twitter.com/imperioworld_/status/1232769353503956994). After 87 votes, the result is very clear: it's not useful. Considering the amount of code we have just to run it, I think it's definitely worth it to remove it.

r? @kinnison

cc @ollie27
2020-03-10 06:47:47 +01:00
Ayush Kumar Mishra
6f2c01bcfb Add long error explanation for E0739 2020-03-10 08:33:14 +05:30
YI
0a0c850d73 fix test failure due to earlier emitted error 2020-03-10 10:54:48 +08:00
YI
906bb8d0e8 fix #62456 2020-03-10 09:30:24 +08:00
Matthew Kuo
b974d6fc30 test(patterns): add borrowck tests for combination of pattern features
Adds borrowck tests for the following features:
- bindings_after_at
- or_patterns
- slice_patterns
- box_patterns
2020-03-09 08:27:45 -05:00