Commit graph

25413 commits

Author SHA1 Message Date
Samy Kacimi
0385d64d19
normalize use of backticks in compiler messages for librustc_lint 2019-07-21 11:47:24 +02:00
bors
f69b07144a Auto merge of #62710 - estebank:bad-named-args, r=petrochenkov
Specific error for positional args after named args in `format!()`

When writing positional arguments after named arguments in the
`format!()` and `println!()` macros, provide a targeted diagnostic.

Follow up to https://github.com/rust-lang/rust/pull/57522/files#r247278885
2019-07-20 06:18:52 +00:00
Julien Cretin
6ec4584d84 Implement checks for meta-variables in macros 2019-07-19 19:59:12 +02:00
bors
f9477a77c5 Auto merge of #62694 - lundibundi:help-infer-fn-ret, r=eddyb
rustc_typeck: improve diagnostics for -> _ fn return type

This should implement IIUC the mentioned issue.

~~I'm not sure if there is a better way than `get_infer_ret_ty` to get/check the return type without code duplication.~~

~~Also, is this unwrap be okay `ty::Binder::bind(*tables.liberated_fn_sigs().get(hir_id).unwrap())`?~~

r? @eddyb
Closes: https://github.com/rust-lang/rust/issues/56132
2019-07-19 04:04:17 +00:00
bors
fe499a7b34 Auto merge of #62684 - petrochenkov:scopevisit, r=davidtwco
resolve: Improve candidate search for unresolved macro suggestions

Use same scope visiting machinery for both collecting suggestion candidates and actually resolving the names.

The PR is better read in per-commit fashion with whitespace changes ignored (the first commit in particular moves some code around).

This should be the last pre-requisite for https://github.com/rust-lang/rust/pull/62086.
r? @davidtwco
2019-07-19 00:24:39 +00:00
bors
a3369981de Auto merge of #61749 - davidtwco:rfc-2203-const-array-repeat-exprs, r=eddyb
rustc/rustc_mir: Implement RFC 2203.

This PR implements RFC 2203, allowing constants in array repeat
expressions. Part of #49147.

r? @eddyb
2019-07-18 20:41:40 +00:00
bors
311376d30d Auto merge of #62782 - Mark-Simulacrum:rollup-1hz5ya6, r=Mark-Simulacrum
Rollup of 15 pull requests

Successful merges:

 - #61926 (Fix hyperlinks in From impls between Vec and VecDeque)
 - #62615 ( Only error about MSVC + PGO + unwind if we're generating code)
 - #62696 (Check that trait is exported or public before adding hint)
 - #62712 (Update the help message on error for self type)
 - #62728 (Fix repeated wording in slice documentation)
 - #62730 (Consolidate hygiene tests)
 - #62732 (Remove last use of mem::uninitialized from std::io::util)
 - #62740 (Add missing link to Infallible in TryFrom doc)
 - #62745 (update data_layout and features for armv7-wrs-vxworks)
 - #62749 (Document link_section arbitrary bytes)
 - #62752 (Disable Z3 in LLVM build)
 - #62764 (normalize use of backticks in compiler messages for librustc/lint)
 - #62774 (Disable simd_select_bitmask test on big endian)
 - #62777 (Self-referencial type now called a recursive type)
 - #62778 (Emit artifact notifications for dependency files)

Failed merges:

 - #62746 ( do not use mem::uninitialized in std::io)

r? @ghost
2019-07-18 17:03:37 +00:00
Mark Rousskov
4544b4d288
Rollup merge of #62777 - gilescope:self-referencial-to-recursion, r=eddyb
Self-referencial type now called a recursive type

As per Boat's suggestion - #62539, this makes the error message clearer.
2019-07-18 11:29:57 -04:00
Mark Rousskov
ed83734a3b
Rollup merge of #62774 - smaeul:pr/simd-tests, r=petrochenkov
Disable simd_select_bitmask test on big endian

Per #59356 it is expected that the interpretation of the bitmask depends
on target endianness.

Closes #59356
2019-07-18 11:29:55 -04:00
Mark Rousskov
0ae9048494
Rollup merge of #62764 - fakenine:normalize_use_of_backticks_compiler_messages_p7, r=alexreg
normalize use of backticks in compiler messages for librustc/lint

https://github.com/rust-lang/rust/issues/60532
2019-07-18 11:29:53 -04:00
Mark Rousskov
aa31ca7128
Rollup merge of #62730 - matthewjasper:hygiene-tests, r=petrochenkov
Consolidate hygiene tests

Some general clean-up extracted out from another PR
2019-07-18 11:29:43 -04:00
Mark Rousskov
988a4bad90
Rollup merge of #62712 - limira:self-type-help, r=estebank
Update the help message on error for self type

Fix #62609
2019-07-18 11:29:40 -04:00
Mark Rousskov
df21a6f040
Rollup merge of #62696 - chocol4te:fix_#62194, r=estebank
Check that trait is exported or public before adding hint

Closes #62194.

This PR checks the `AccessLevels` of a trait to check whether adding the intercrate ambiguity hint is valid or not.

I am unsure of both the use of `.unwrap()` as well as removing hints for [downstream *and* [upstream](92b0f52584/src/librustc/traits/select.rs (L112-L142)).
2019-07-18 11:29:39 -04:00
bors
4ed008a420 Auto merge of #62682 - alessandrod:issue-58375, r=eddyb
Normalize type parameters in create_mono_items_for_default_impls.

Fix for https://github.com/rust-lang/rust/issues/58375. I've added a test in `src/tests/run-pass` to reproduce the bug, not sure that's the best place for it.

See https://github.com/rust-lang/rust/issues/58375#issuecomment-509156977 for more context.
2019-07-18 13:09:01 +00:00
Vadim Petrochenkov
a7726ce086 resolve: Attempt to resolve unresolved paths in macro namespace 2019-07-18 13:42:45 +03:00
Vadim Petrochenkov
329c05251a resolve: Visit all scopes to collect suggestion candidates for unresolved macros 2019-07-18 13:42:45 +03:00
Vadim Petrochenkov
79f0d88de8 resolve: Use feature(custom_attribute) fallback only if the feature is enabled
Normally `#![feature(...)]` shouldn't change behavior, but custom attributes in particular are in the process of retirement, and we should not produce a message telling to enable them.
It also helps with unifying diagnostics for unresolved macros.
2019-07-18 13:42:45 +03:00
Giles Cope
c56c5a861a Self-referencial type renamed to recursive type. 2019-07-18 07:30:51 +01:00
bors
2c3b05d90d Auto merge of #62669 - estebank:suggest-assoc-type, r=cramertj
Suggest assoc type on type not found in trait method definition

Given

```
trait A {
    type Bla;
    fn to_bla(&self) -> Bla;
}
```
suggest using `Self::Bla`:

```
error[E0412]: cannot find type `Bla` in this scope
  --> file.rs:3:25
   |
LL |     fn to_bla(&self) -> Bla;
   |                         ^^^ help: try: `Self::Bla`
```

Fix #62650.
2019-07-18 05:07:36 +00:00
Samuel Holland
60529a72de Disable simd_select_bitmask test on big endian
Per #59356 it is expected that the interpretation of the bitmask depends
on target endianness.

Closes #59356
2019-07-17 20:26:59 -05:00
Samy Kacimi
e5e1397adb
normalize use of backticks in compiler messages for librustc/lint
https://github.com/rust-lang/rust/issues/60532
2019-07-17 22:49:48 +02:00
Giles Cope
387b6c3e78 Test case for #62506. 2019-07-17 21:38:08 +01:00
Denys Otrishko
f8681f0c05
rustc_typeck: improve diagnostics for -> _ fn return type
Closes: https://github.com/rust-lang/rust/issues/56132
2019-07-17 16:59:08 +03:00
bors
38798c6d68 Auto merge of #62592 - nikic:actually-update-llvm, r=alexcrichton
Update to LLVM 9 trunk

Following the preparatory changes in #62474, this updates the LLVM submodule to https://github.com/rust-lang/llvm-project/tree/rustc/9.0-2019-07-12 and:

 * Changes the LLVM Rust bindings to account for the new SubtargetSubTypeKV.
 * Adjusts a codegen test for the new form of the byval attribute that takes a type.
 * Makes a PGO codegen test more liberal with regard to order and linkage.
 * Builds InstrProfilingPlatformWindows.c as part of libprofiler_builtins.
 * Moves registration of additional passes (in particular sanitizers) to the end of the module pass manager.
 * Disables LLDB on builders.

r? @alexcrichton
2019-07-16 23:05:06 +00:00
Matthew Jasper
a4a7bb9a3f Make pretty-expanded-hygiene a ui test
`normalize-stdout-test` removes the need for Make, and it can be updated
with `--bless` this way
2019-07-16 21:23:29 +01:00
Matthew Jasper
03178f31c4 Change all run-pass hygiene tests to ui tests
Change some tests to `check-pass` that are only testing name resolution.
2019-07-16 21:20:39 +01:00
Mark Rousskov
94b16d4bd0
Rollup merge of #62703 - fakenine:normalize_use_of_backticks_compiler_messages_p6, r=eddyb
normalize use of backticks in compiler messages for libsyntax/parse

https://github.com/rust-lang/rust/issues/60532
2019-07-16 11:38:58 -04:00
Mark Rousskov
4226f14cbb
Rollup merge of #62702 - fakenine:normalize_use_of_backticks_compiler_messages_p5, r=Centril
normalize use of backticks in compiler messages for libsyntax_ext

https://github.com/rust-lang/rust/issues/60532
2019-07-16 11:38:57 -04:00
Ferdia McKeogh
2ced474e80
Check that trait is exported or public before adding intercrate ambiguity hint 2019-07-16 07:53:30 +02:00
Limira
b7cbd4ec47 Update the help message on error for self type 2019-07-16 11:30:48 +07:00
Esteban Küber
33ec1823d7 Specific error for positional args after named args in format!()
When writing positional arguments after named arguments in the
`format!()` and `println!()` macros, provide a targeted diagnostic.
2019-07-15 20:51:32 -07:00
Mark Rousskov
40a74438ad
Rollup merge of #62685 - nathanwhit:as_ref_suggest_fix, r=estebank
Add info about undefined behavior to as_ref suggestions

Fixes #61786. A very small fix, but suggestions on wording/content are welcomed.
2019-07-15 19:55:14 -04:00
Mark Rousskov
879c610557
Rollup merge of #62673 - RalfJung:validity-msg, r=oli-obk
miri validation: better error messages for dangling references

Cc @oli-obk
2019-07-15 19:55:11 -04:00
Mark Rousskov
f9576a6fce
Rollup merge of #62668 - goodmanjonathan:fix-62660, r=estebank
Fix #62660

If the explicitly given type of a `self` parameter fails to parse correctly, we need to propagate the error rather than dropping it and causing an ICE.

Fixes #62660.
2019-07-15 19:55:10 -04:00
Mark Rousskov
4efdff7dbb
Rollup merge of #62646 - estebank:wording, r=petrochenkov
Tweak wording in feature gate errors
2019-07-15 19:55:07 -04:00
Mark Rousskov
ee8194002e
Rollup merge of #62639 - immunant:invariant_valistimpl, r=eddyb
Make VaListImpl<'f> invariant over the 'f lifetime

After doing some research on variance and going back to look at `VaList` and `VaListImpl`, I realized that `VaList<'a, 'f>` is invariant over the `'f` lifetime (and covariant over `'a`), but `VaListImpl<'f>` isn't invariant but probably should be. This patch makes `VaListImpl<'f>` invariant over `'f`.

r? @eddyb
cc @dlrobertson
2019-07-15 19:55:06 -04:00
Mark Rousskov
99e7328d13
Rollup merge of #62405 - hellow554:patch-1, r=varkor
Remove never_type feature requirement for exhaustive patterns

I **think** this resolves #51221
At least for me, it doesn't ICE anymore and all tests are still passing, so LGTM
2019-07-15 19:55:00 -04:00
Mark Rousskov
f940617b8e
Rollup merge of #62103 - RalfJung:debug-assert, r=alexcrichton
Add debug assertions to write_bytes and copy*

Looks like @nitnelave  went MIA in https://github.com/rust-lang/rust/pull/58783, so I am re-submitting their PR, tweaked just a bit. I took care to preserve commit authorship.

Cc https://github.com/rust-lang/rust/issues/53871
2019-07-15 19:54:58 -04:00
Samy Kacimi
7ddafaf6f9
normalize use of backticks in compiler messages for libsyntax/parse
https://github.com/rust-lang/rust/issues/60532
2019-07-16 00:07:30 +02:00
Samy Kacimi
a36763af8a
normalize use of backticks in compiler messages for libsyntax_ext
https://github.com/rust-lang/rust/issues/60532
2019-07-15 23:11:29 +02:00
Ralf Jung
6e8e18e3fc ignore some codegen tests in debug mode 2019-07-15 16:56:43 +02:00
Nikita Popov
866f409f1b Relax checks in pgo-instrumentation codegen test
Don't require a specific order for the per-function globals, and
don't require the locals to have private linkage (apparently
internal linkage is also possible).
2019-07-15 14:01:26 +02:00
Vadim Petrochenkov
0cdd18d0a7 pprust: Support macro macros 2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
a2a1cd1864 pprust: Fix formatting regressions from the previous commits
Fix some remaining cases of bad formatting
Update some failing tests
2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
75896011dc pprust: Do not convert attributes into MetaItems for printing
Fixes https://github.com/rust-lang/rust/issues/62628
2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
11585b598c pprust: Use print_mac_common for delimited token groups 2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
23c5c1bfe7 pprust: Use print_mac_common for attributes 2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
500b00127b pprust: Use print_mac_common for macro_rules definitions 2019-07-15 12:42:07 +03:00
Vadim Petrochenkov
65a714a6a0 pprust: Move some methods to the PrintState trait
So that path and macro argument printing code can be shared
2019-07-15 12:42:07 +03:00
Nikita Popov
87040140de Update transparent aggregate codegen test for byval changes 2019-07-15 09:45:14 +02:00