Commit Graph

9421 Commits

Author SHA1 Message Date
Josh Stone
6e846992d0 Cherry-pick the LLVM fix for #69225 2020-02-24 16:21:22 -08:00
Vadim Petrochenkov
d134385823 syntax: Remove Nt(Impl,Trait,Foreign)Item 2020-02-24 20:25:32 +03:00
Yuki Okushi
5307edce6f Tweak tests 2020-02-25 00:28:39 +09:00
Pietro Albini
331044627a Rollup merge of #69372 - yawpitch:master, r=varkor
Updates links in various Compiler Error Index entries

Currently many of the links in the online https://doc.rust-lang.org/error-index.html are not clickable, and many of them don't resolve correctly as they point to older versions of rustbyexample and the reference.
2020-02-24 11:15:30 +01:00
Vadim Petrochenkov
b2605c118d parser: token -> normalized_token, nonnormalized_token -> token 2020-02-24 13:04:13 +03:00
Yuki Okushi
f85b0c456f Remove use of unwrap() from save-analysis 2020-02-24 18:06:42 +09:00
Mazdak Farrokhzad
1c75f5aaa1 parse: test bad variants wrt. issue 48137. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
fde5939d1c parse: tweak diagnostic wordings 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
62930d3151 parse/ast: move Defaultness into variants. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
842027f35b parse: NtItem -> parse_item_common. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
b01c1e2092 parser: tweak item kind wording 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
ab84914fe4 parser: tweak unmatched wording 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
abc46a579b parse: harden default test. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
a05c83b2eb parse: use parse_item_common in parse_assoc_item_. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
a63f35daee parse: use parse_item_common in parse_foreign_item. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
a920a05603 parse: recover default on free items. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
7017058e6b ast: add Defaultness to Item, making AssocItem an alias. 2020-02-24 00:59:38 +01:00
Mazdak Farrokhzad
fa2a792491 add Span to ast::Defaultness::Default. 2020-02-24 00:59:38 +01:00
bors
6d0e58bff8 Auto merge of #69393 - Dylan-DPC:rollup-rxbd1zg, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #69336 (Do not ping the infrastructure team on toolstate changes)
 - #69351 (Improve external MinGW detection)
 - #69361 (parse: allow `type Foo: Ord` syntactically)
 - #69375 (Rename CodeMap to SourceMap follow up)
 - #69376 (parser: Cleanup `Parser::bump_with` and its uses)

Failed merges:

r? @ghost
2020-02-23 19:26:35 +00:00
bors
b1f395de64 Auto merge of #69084 - yaahc:delayed-doc-lint, r=petrochenkov
Split non macro portion of unused_doc_comment from macro part into two passes/lints

## Motivation

This change is motivated by the needs of the [spandoc library](https://github.com/yaahc/spandoc). The specific use case is that my macro is removing doc comments when an attribute is applied to a fn with doc comments, but I would like the lint to still appear when I forget to add the `#[spandoc]` attribute to a fn, so I don't want to have to silence the lint globally.

## Approach

This change splits the `unused _doc_comment` lint into two lints, `unused_macro_doc_comment` and `unused_doc_comment`. The non macro portion is moved into an `early_lint_pass` rather than a pre_expansion_pass. This allows proc macros to silence `unused_doc_comment` warnings by either adding an attribute to silence it or by removing the doc comment before the early_pass runs.

The `unused_macro_doc_comment` lint however will still be impossible for proc-macros to silence, but the only alternative that I can see is to remove this lint entirely, which I don't think is acceptable / is a decision I'm not comfortable making personally, so instead I opted to split the macro portion of the check into a separate lint so that it can be silenced globally with an attribute if necessary without needing to globally silence the `unused_doc_comment` lint as well, which is still desireable.

fixes https://github.com/rust-lang/rust/issues/67838
2020-02-23 16:09:41 +00:00
Michael Morehouse
c103a16f3a Update links
Formatting fixes

Now that I can actually run `python x.py test src/tools/tidy` locally
... my god it takes a long time to compile when you're on a cellular
connection.

Removing unnecessary whitespaces

Updates src/test/ui/json-short.stderr golden test file

Fixes test failure by updating the golden file for changes
in src/librustc_error_codes/error_codes/E0601.md

Update src/librustc_error_codes/error_codes/E0080.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0080.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0080.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0154.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0154.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0661.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0662.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0663.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0664.md

Co-Authored-By: varkor <github@varkor.com>

Update src/test/ui/json-short.stderr

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0260.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0154.md

Co-Authored-By: varkor <github@varkor.com>

Update src/librustc_error_codes/error_codes/E0260.md

Co-Authored-By: varkor <github@varkor.com>

Apply suggestions from code review

Co-Authored-By: varkor <github@varkor.com>

Fixing 1 character over 80 cascade
2020-02-23 12:22:44 +00:00
Dylan DPC
ae50725dc3 Rollup merge of #69361 - Centril:free-ty-alias, r=petrochenkov
parse: allow `type Foo: Ord` syntactically

This addresses:
> (Work still remains to fuse this with free type aliases, but this can be done later.)

in https://github.com/rust-lang/rust/pull/69194.

r? @petrochenkov
2020-02-23 09:57:43 +01:00
Tomasz Miąsko
d78b22f35e Mark attributes consumed by check_mod_attrs as normal
Take advantage of the fact that `check_mod_attrs` marks attributes as
used and change their type to normal, so that any remaining uses will be
warned about by the unused attribute lint.
2020-02-23 00:00:00 +00:00
Mark Mansi
9434d6b67f update some tests 2020-02-22 16:14:14 -06:00
David Ross
f434c6e636 Use multipart suggestion
This is a modified version of estebank's suggestion, with a bit of
extra cleanup now that we don't need the different cases for if we can
turn a span into a string or not.
2020-02-22 12:33:06 -08:00
David Ross
fa1f547f82 Add more double cast + method call tests 2020-02-22 11:36:09 -08:00
jumbatm
a796af7a76 Fail on multiple declarations of main.
Previously, when inserting the entry function, we only checked for
duplicate _definitions_ of `main`.  However, it's possible to cause
problems even only having a duplicate _declaration_. For example,
shadowing `main` using an extern block isn't caught by the current
check, and causes an assertion failure down the line in in LLVM code.
2020-02-23 02:06:11 +10:00
bors
3eeefc21f1 Auto merge of #69374 - Dylan-DPC:rollup-x7mjd5z, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #68984 (Make `u8::is_ascii` a stable `const fn`)
 - #69339 (Add test for #69312)
 - #69346 (Clean up E0323, E0324, E0325 and E0326 explanations)
 - #69348 (Wrong error message for move_ref_pattern)
 - #69349 (MIR is not an experiment anymore)
 - #69354 (Test `Duration::new` panics on overflow)
 - #69370 (move const_eval.rs into the module folder)

Failed merges:

r? @ghost
2020-02-22 14:36:14 +00:00
Dylan DPC
8ab4060057 Rollup merge of #69348 - LeSeulArtichaut:patch-1, r=Centril
Wrong error message for move_ref_pattern

The current error message states that move occurs *because of `Copy`*:
```Rust
"move occurs because `{}` has type `{}` which does implement the `Copy` trait."
```
I found this randomly when surfing through the sources. This means, I don't have any context and might be completely wrong.

r? @Centril
2020-02-22 18:43:04 +05:30
Dylan DPC
3d9b68a5c3 Rollup merge of #69339 - wesleywiser:test_for_69312, r=Centril
Add test for #69312

This bug was fixed by #67501.

Closes #69312
2020-02-22 18:43:01 +05:30
Dylan DPC
c261ff1a77 Rollup merge of #68984 - ecstatic-morse:const-u8-is-ascii, r=sfackler
Make `u8::is_ascii` a stable `const fn`

`char::is_ascii` was already stabilized as `const fn` in #55278, so there is no reason for `u8::is_ascii` to go through an unstable period.

cc @rust-lang/libs
2020-02-22 18:42:59 +05:30
Trevor Spiteri
d15a98b878 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

    (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-02-22 14:03:46 +01:00
varkor
bead79ebc6 Add note regarding argument ordering 2020-02-22 11:34:29 +00:00
varkor
e372ad4800 Expand the documentation for E0747 2020-02-22 11:34:29 +00:00
bors
07534591ff Auto merge of #69333 - ecstatic-morse:revert-simd-shuffle, r=petrochenkov
Revert #69280

Resolves #69313 by reverting #69280.

After #69280, `#[rustc_args_required_const(2)]` is required on the declaration of `simd_shuffle` intrinsics. This is allowed breakage, since you can't define platform intrinsics on stable. However, the latest release of the widely used `packed_simd` crate defines these intrinsics without the requisite attribute. Since there's no urgency to merge #69280, let's revert it. We can reconsider when rust-lang/packed_simd#278 is included in a point release of `packed_simd`.

r? @petrochenkov
2020-02-22 11:11:47 +00:00
varkor
039045c49b Move generic arg / param validation to create_substs_for_generic_args 2020-02-22 00:28:18 +00:00
varkor
d232acdb39 Report all errors in check_generic_arg_count 2020-02-22 00:27:44 +00:00
bors
d735ede6eb Auto merge of #69302 - jonas-schievink:yield-needs-storage, r=Zoxc
Fix generator miscompilations

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

r? @Zoxc
2020-02-22 00:10:57 +00:00
Jane Lusby
fa73b617c2 clean things up 2020-02-21 16:01:48 -08:00
Mazdak Farrokhzad
9f3dfd29a2 parse: allow type Foo: Ord syntactically. 2020-02-22 00:19:27 +01:00
LeSeulArtichaut
38a22b8130 Fix error message
Bless tests
2020-02-21 22:43:51 +01:00
Jonas Schievink
4d4da926f2 Fix rebase damage 2020-02-21 19:42:28 +01:00
Jonas Schievink
9930e1ff0a Fix tests that fail with --emit metadata 2020-02-21 19:42:28 +01:00
Jonas Schievink
ec50190399 Bless test output 2020-02-21 19:41:22 +01:00
Jonas Schievink
a01846f0c3 appease tidy 2020-02-21 19:41:22 +01:00
Jonas Schievink
708f053807 Add test for #65774
Closes #65774
2020-02-21 19:41:22 +01:00
Jonas Schievink
f94eaeaf73 Fix rebase damage 2020-02-21 19:41:22 +01:00
Jonas Schievink
24ec364713 Test mixed default and non-default 2020-02-21 19:41:22 +01:00
Jonas Schievink
c8da9ee50a Improve specialization test 2020-02-21 19:41:22 +01:00
Jonas Schievink
fbcd136b65 Improve the cycle tests 2020-02-21 19:41:22 +01:00