Commit Graph

98827 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
961a4da08e Stabilize bind_by_move_pattern_guards in 1.39.0. 2019-09-08 01:26:46 +02:00
bors
f7b05af814 Auto merge of #64269 - Centril:rollup-y4dm32c, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #64052 (Rename test locals to work around LLDB bug)
 - #64066 (Support "soft" feature-gating using a lint)
 - #64177 (resolve: Do not afraid to set current module to enums and traits)
 - #64229 (Reduce span to function name in unreachable calls)
 - #64255 (Add methods for converting `bool` to `Option<T>`)

Failed merges:

r? @ghost
2019-09-07 22:08:30 +00:00
Mazdak Farrokhzad
cd3cb281da
Rollup merge of #64255 - varkor:bool-to-option, r=Centril
Add methods for converting `bool` to `Option<T>`

This provides a reference implementation for https://github.com/rust-lang/rfcs/pull/2757.
2019-09-08 00:07:36 +02:00
Mazdak Farrokhzad
cab2d84f06
Rollup merge of #64229 - kawa-yoiko:unreachable-call-lint, r=estebank
Reduce span to function name in unreachable calls

As title suggests, this might close #64103. Refer to the updated tests for expected output.

There is potential to further improve usability. In particular, is it favourable that the exact diverging expression/statement be pointed out (not only in this case, but for all unreachable code)? Certainly that would deserve another issue, but I'm interested in the opinions.
2019-09-08 00:07:34 +02:00
Mazdak Farrokhzad
77e1a7c578
Rollup merge of #64177 - petrochenkov:curmod, r=matthewjasper
resolve: Do not afraid to set current module to enums and traits

After cfbb60bf6d it's ok.

This is likely required for https://github.com/rust-lang/rust/pull/63468 to work correctly, because that PR starts resolving attributes on enum variants.

r? @matthewjasper @c410-f3r
2019-09-08 00:07:33 +02:00
Mazdak Farrokhzad
4ea77975ab
Rollup merge of #64066 - petrochenkov:softstab, r=matthewjasper
Support "soft" feature-gating using a lint

Use it for feature-gating `#[bench]`.

Closes https://github.com/rust-lang/rust/issues/63798.
2019-09-08 00:07:31 +02:00
Mazdak Farrokhzad
83e2b5e7af
Rollup merge of #64052 - ranweiler:debuginfo-boxed-struct-64050, r=alexcrichton
Rename test locals to work around LLDB bug

LLDB's expression parser can't unambiguously resolve local variables in
some cases, as described in #47938. Work around this by using names that
don't shadow direct submodules of `core`.

Closes #64050.
2019-09-08 00:07:30 +02:00
Vadim Petrochenkov
74d8679eff Turn soft_unstable into a future-compatibility lint 2019-09-07 22:23:53 +03:00
Eric Huss
fb387088e2 rustdoc: fix diagnostic with mixed code block styles 2019-09-07 12:21:32 -07:00
Vadim Petrochenkov
f7434aef26 Support "soft" feature-gating using a lint
Use it for feature-gating `#[bench]`
2019-09-07 21:37:51 +03:00
Vadim Petrochenkov
7dc3839b50 resolve: Mark more erroneous imports as used 2019-09-07 21:30:42 +03:00
bors
43a5ff4222 Auto merge of #64264 - Centril:rollup-w1khzun, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #64023 (libstd fuchsia fixes)
 - #64098 (Ensure edition lints and internal lints are enabled with deny-warnings=false)
 - #64139 (Migrate internal diagnostic registration to macro_rules)
 - #64226 (Aggregation of cosmetic changes made during work on REPL PRs: libsyntax)
 - #64227 (Aggregation of cosmetic changes made during work on REPL PRs: librustc)
 - #64235 (Upgrade env_logger to 0.6)
 - #64258 (compiletest: Match suffixed environments)

Failed merges:

r? @ghost
2019-09-07 18:02:22 +00:00
Mazdak Farrokhzad
635c3bcc3c
Rollup merge of #64258 - smaeul:patch/arm-tests, r=Mark-Simulacrum
compiletest: Match suffixed environments

This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.
2019-09-07 20:01:50 +02:00
Mazdak Farrokhzad
448b38f0bf
Rollup merge of #64235 - mati865:env_logger, r=alexcrichton
Upgrade env_logger to 0.6
2019-09-07 20:01:48 +02:00
Mazdak Farrokhzad
c70b768df4
Rollup merge of #64227 - alexreg:rush-pr-4, r=centril
Aggregation of cosmetic changes made during work on REPL PRs: librustc

Factored out from hacking on rustc for work on the REPL.

r? @Centril
2019-09-07 20:01:47 +02:00
Mazdak Farrokhzad
c5306724a3
Rollup merge of #64226 - alexreg:rush-pr-3, r=centril
Aggregation of cosmetic changes made during work on REPL PRs: libsyntax

Factored out from hacking on rustc for work on the REPL.

r? @Centril
2019-09-07 20:01:45 +02:00
Mazdak Farrokhzad
89a69fd76d
Rollup merge of #64139 - Mark-Simulacrum:strip-legacy-proc-macro, r=petrochenkov
Migrate internal diagnostic registration to macro_rules

Review is best done commit-by-commit.

Fixes #64132.
2019-09-07 20:01:44 +02:00
Mazdak Farrokhzad
3c4a586221
Rollup merge of #64098 - Mark-Simulacrum:always-warn, r=alexcrichton
Ensure edition lints and internal lints are enabled with deny-warnings=false

Previously we only passed the deny command line flags if deny-warnings was enabled, but now we either pass -W... or -D... for each of the flags as appropriate.

This is also a breaking change to x.py as it changes `--warnings=allow` to `--warnings=warn` which is what that flag actually did; we don't have an allow warnings mode.
2019-09-07 20:01:43 +02:00
Mazdak Farrokhzad
8bee18baa3
Rollup merge of #64023 - tmandry:libstd-fuchsia-fixes, r=cramertj
libstd fuchsia fixes

This fixes two bugs in libstd on Fuchsia:

- `zx_time_t` was changed to an `i64`, but this never made it into libstd
- When spawning processes where any of the stdio were null, libstd attempts to open `/dev/null`, which doesn't exist on Fuchsia

r? @cramertj
2019-09-07 20:01:41 +02:00
varkor
7b3f72906f Add tracking issue 2019-09-07 17:06:39 +01:00
varkor
0f0e1c1691 Move libcore/bool/mod.rs to libcore/bool.rs 2019-09-07 17:04:19 +01:00
Samuel Holland
2bcabf6737 compiletest: Match suffixed environments
This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.
2019-09-07 10:32:10 -05:00
Alexander Regueiro
553a56dd98 Apply suggestions from code review 2019-09-07 16:29:04 +01:00
Alexander Regueiro
49d2fd1725 Aggregation of cosmetic changes made during work on REPL PRs: libsyntax 2019-09-07 16:29:04 +01:00
Alexander Regueiro
fd48ca20d3 Apply suggestions from code review
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-09-07 16:27:20 +01:00
Alexander Regueiro
c1d29ee3c7 Aggregation of cosmetic changes made during work on REPL PRs: librustc 2019-09-07 16:27:19 +01:00
varkor
b73e32c795 Add bool::then and bool::then_with 2019-09-07 15:49:27 +01:00
Vadim Petrochenkov
56f635304b resolve: Adjust hygienic_lexical_parent to account for enum and trait modules 2019-09-07 17:42:24 +03:00
Vadim Petrochenkov
0d084670d7 resolve: Do not afraid to set current module to enums and traits 2019-09-07 17:19:39 +03:00
varkor
f0386a10e0 Add "bool" lang item 2019-09-07 13:16:18 +01:00
bors
ef54f57c5b Auto merge of #64246 - Centril:rollup-zey4o09, r=Centril
Rollup of 10 pull requests

Successful merges:

 - #63919 (Use hygiene for AST passes)
 - #63927 (Filter linkcheck spurious failure)
 - #64149 (rustc_codegen_llvm: give names to non-alloca variable values.)
 - #64192 (Bail out when encountering likely missing turbofish in parser)
 - #64231 (Move the HIR CFG to `rustc_ast_borrowck`)
 - #64233 (Correct pluralisation of various diagnostic messages)
 - #64236 (reduce visibility)
 - #64240 (Include compiler-rt in the source tarball)
 - #64241 ([doc] Added more prereqs and note about default directory)
 - #64243 (Move injection of attributes from command line to `libsyntax_ext`)

Failed merges:

r? @ghost
2019-09-07 10:22:58 +00:00
Mazdak Farrokhzad
3d4cb50312
Rollup merge of #64243 - petrochenkov:cmdattr, r=alexcrichton
Move injection of attributes from command line to `libsyntax_ext`

Just a tiny bit of code generation that wasn't moved into `libsyntax_ext` in https://github.com/rust-lang/rust/pull/62771.
2019-09-07 08:06:17 +02:00
Mazdak Farrokhzad
69121f5bad
Rollup merge of #64241 - adityaatluri:install-doc, r=Mark-Simulacrum
[doc] Added more prereqs and note about default directory
2019-09-07 08:06:15 +02:00
Mazdak Farrokhzad
e77ba6f9c4
Rollup merge of #64240 - maurer:include-compiler-rt, r=alexcrichton
Include compiler-rt in the source tarball

In #60981 we switched to using src/llvm-project/compiler-rt inside
compiler-builtins rather than a separate copy of it.
In order to have the "c" feature turn on in builds from the source
tarball, we need to include that path in its creation.

fixes #64239
2019-09-07 08:06:14 +02:00
Mazdak Farrokhzad
e6a76891ef
Rollup merge of #64236 - matklad:reduce-visibility, r=Centril
reduce visibility
2019-09-07 08:06:13 +02:00
Mazdak Farrokhzad
d5caeac096
Rollup merge of #64233 - varkor:correct-pluralisation, r=estebank
Correct pluralisation of various diagnostic messages
2019-09-07 08:06:11 +02:00
Mazdak Farrokhzad
84cb3529b6
Rollup merge of #64231 - matthewjasper:move-ast-cfg, r=Centril
Move the HIR CFG to `rustc_ast_borrowck`

No new code should be using it.
2019-09-07 08:06:10 +02:00
Mazdak Farrokhzad
fae7bc756e
Rollup merge of #64192 - estebank:turbofish-madness, r=petrochenkov
Bail out when encountering likely missing turbofish in parser

When encountering a likely intended turbofish without `::`, bubble
up the diagnostic instead of emitting it to allow the parser to recover
more gracefully and avoid uneccessary type errors that are likely to be
wrong.

Fix #61329.
2019-09-07 08:06:09 +02:00
Mazdak Farrokhzad
da61325bfa
Rollup merge of #64149 - eddyb:llvm-var-names, r=rkruppe
rustc_codegen_llvm: give names to non-alloca variable values.

These names only matter when looking at LLVM IR, but they can help.

When one value is used for multiple variables, I decided to combine the names.
I chose `,` as a separator but maybe `=` or ` ` (space) are more appropriate.
(LLVM names can contain any characters - if necessary they end up having quotes)

As an example, this function:
```rust
#[no_mangle]
pub fn test(a: u32, b: u32) -> u32 {
    let c = a + b;
    let d = c;
    let e = d * a;
    e
}
```
Used to produce this LLVM IR:
```llvm
define i32 @test(i32 %a, i32 %b) unnamed_addr #0 {
start:
  %0 = add i32 %a, %b
  %1 = mul i32 %0, %a
  ret i32 %1
}
```
But after this PR you get this:
```llvm
define i32 @test(i32 %a, i32 %b) unnamed_addr #0 {
start:
  %"c,d" = add i32 %a, %b
  %e = mul i32 %"c,d", %a
  ret i32 %e
}
```

cc @nagisa @rkruppe
2019-09-07 08:06:07 +02:00
Mazdak Farrokhzad
7dcac19446
Rollup merge of #63927 - mark-i-m:filter-spurious, r=ehuss
Filter linkcheck spurious failure

r? @ehuss

cc @spastorino

Basically, we filter errors with messages containing "timed out"... a bit of a hack, but hopefully this will be functionality built into linkcheck soon.
2019-09-07 08:06:05 +02:00
Mazdak Farrokhzad
db493ef613
Rollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkov
Use hygiene for AST passes

AST passes are now able to have resolve consider their expansions as if they were opaque macros defined either in some module in the current crate, or a fake empty module with `#[no_implicit_prelude]`.

* Add an ExpnKind for AST passes.
* Remove gensyms in AST passes.
* Remove gensyms in`#[test]`, `#[bench]` and `#[test_case]`.
* Allow opaque macros to define tests.
* Move tests for unit tests to their own directory.
* Remove `Ident::{gensym, is_gensymed}` - `Ident::gensym_if_underscore` still exists.

cc #60869, #61019

r? @petrochenkov
2019-09-07 08:06:04 +02:00
bors
da13f06ea0 Auto merge of #63789 - Wind-River:master, r=alexcrichton
Support both static and dynamic linking mode in testing for vxWorks

1. Support both static and dynamic linking mode in testing for vxWorks
2. Ignore unsupported test cases: net:tcp:tests:timeouts and net:ucp:tests:timeouts

r? @alexcrichton
2019-09-06 20:49:20 +00:00
Vadim Petrochenkov
3dde650efa Move injection of attributes from command line to libsyntax_ext 2019-09-06 23:46:16 +03:00
Aditya Atluri
7dd5c66108
Added more prereqs and note about default directory 2019-09-06 12:54:42 -07:00
Matthew Maurer
a26ee8586c Include compiler-rt in the source tarball
In #60981 we switched to using src/llvm-project/compiler-rt inside
compiler-builtins rather than a separate copy of it.
In order to have the "c" feature turn on in builds from the source
tarball, we need to include that path in its creation.

fixes #64239
2019-09-06 12:41:54 -07:00
Aleksey Kladov
055d3798d4 reduce visibility 2019-09-06 22:04:36 +03:00
varkor
0b97726e6c Update ui tests 2019-09-06 19:21:26 +01:00
varkor
f6481ed1c3 Correct pluralisation of various diagnostic messages 2019-09-06 19:21:20 +01:00
Mateusz Mikuła
8ddbe7660f Upgrade env_logger to 0.6 2019-09-06 20:04:12 +02:00
bors
6e19f3f383 Auto merge of #64230 - Centril:rollup-vxyczjq, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #63565 (Rust 2018: NLL migrate mode => hard error)
 - #63969 (Add missing examples for Option type)
 - #64067 (Remove no-prefer-dynamic from valgrind tests)
 - #64166 (Better way of conditioning the sanitizer builds)
 - #64189 (annotate-snippet emitter: Deal with multispans from macros, too)
 - #64202 (Fixed grammar/style in some error messages)
 - #64206 (annotate-snippet emitter: Update an issue number)
 - #64208 (it's more pythonic to use 'is not None' in python files)

Failed merges:

r? @ghost
2019-09-06 17:03:11 +00:00