98859 Commits

Author SHA1 Message Date
bors
4a8ccdbeeb Auto merge of #64044 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez
Rustdoc: formatting to buffers

This should be reviewed commit-by-commit.

I've not attempted to fully flesh out what the end state of this PR could look like yet as I wanted to get it up for some early feedback (I already think this has some wins, too, so we could land it as-is).

The primary idea with `Buffer` is that it internally tracks whether we're printing to HTML or text, and the goal is that eventually instead of branch on `fmt.alternate()` anywhere, we'd call a helper like `buf.nbsp()` which would either return ` ` or ` ` depending on the target we're printing to. Obviously, that's not included in this PR, in part because it was already getting quite big.
2019-09-08 02:12:24 +00:00
Charles Lew
8acab6bc56 Improve wording. 2019-09-08 09:41:59 +08:00
Mazdak Farrokhzad
aaa9762651 bind-by-move: add E0008 commented out to error_codes.rs 2019-09-08 01:39:24 +02:00
Mazdak Farrokhzad
e362ff9feb bootstrap -> boostrap_stdarch_ignore_this 2019-09-08 01:39:24 +02:00
Mazdak Farrokhzad
c6bfb1e9fd Tests: No longer emitting 0008, E0301, E0302. 2019-09-08 01:39:24 +02:00
Mazdak Farrokhzad
642993e6dc Update tests wrt. bind_by_by_move_pattern_guards stabilization. 2019-09-08 01:39:24 +02:00
Mark Rousskov
02c5c5cb59 Move to buffers throughout print_item 2019-09-07 19:33:43 -04:00
Mark Rousskov
c1c1e86d5a Item to function 2019-09-07 19:31:59 -04:00
Mark Rousskov
a502e85603 AllTypes to function 2019-09-07 19:31:59 -04:00
Mark Rousskov
17bef30d0b Settings to function 2019-09-07 19:31:59 -04:00
Mark Rousskov
bb40d5fa49 Move Source to Buffer 2019-09-07 19:31:58 -04:00
Mark Rousskov
3f0e77f19c layout::render takes Print instead of fmt::Display 2019-09-07 19:31:58 -04:00
Mark Rousskov
d5f147086b De-indent all fmt::Display impls for later replacement to functions 2019-09-07 19:31:58 -04:00
Mark Rousskov
eefaee1af4 Delete Sidebar struct in favor of FnOnce impl 2019-09-07 19:31:58 -04:00
Mark Rousskov
f4a15ae3b2 Implement Print for FnOnce(&mut Buffer)
This means that callers can pass in a closure like
`|buf| some_function(..., &mut buf)` and pass in arbitrary arguments to
that function without complicating the trait definition. We also keep
the impl for str and String, since it's useful to be able to just pass
in "" or format!("{}"...) results in some cases.

This changes Print's definition to take self, instead of &self, because
otherwise FnOnce cannot be called directly. We could instead take FnMut
or even Fn, but that seems like it'd merely complicate matters -- most
of the time, the FnOnce does not constrain us at all anyway. If it does,
a custom Print impl for &'_ SomeStruct is not all that painful.
2019-09-07 19:31:58 -04:00
Mark Rousskov
f8bccb1658 Move sidebar to Buffer-printing 2019-09-07 19:31:58 -04:00
Mark Rousskov
04dc72eeef Remove unnecessary Buffer in layout::render 2019-09-07 19:31:58 -04:00
Mark Rousskov
75528f266f Replace writeln!/write! with push_str 2019-09-07 19:31:58 -04:00
Mark Rousskov
57243b74b1 Move constant parameters to render to Layout struct 2019-09-07 19:31:58 -04:00
Mark Rousskov
3657bfc040 Remove needless clone of layout 2019-09-07 19:31:58 -04:00
Mark Rousskov
9e52ba94fa Create buffers in top-level rendering
This avoids needlessly creating and threading the buffers through when
we only use them once.
2019-09-07 19:31:58 -04:00
Mark Rousskov
eebd0265c3 Migrate top-level rendering to Buffer 2019-09-07 19:31:58 -04:00
Mark Rousskov
f35eae9934 Add buffer abstraction 2019-09-07 19:31:58 -04:00
Mark Rousskov
072942d569 run-pass tests shouldn't have unused contents 2019-09-07 19:27:52 -04:00
Mazdak Farrokhzad
0356813b27 Dont use gate bind_by_move_pattern_guards internally. 2019-09-08 01:27:10 +02:00
Mazdak Farrokhzad
2a21c0f6d1 Update bind_and_guard_matched_candidate docs. 2019-09-08 01:26:46 +02:00
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
d42e60331f Improve hygiene of alloc::format! 2019-09-07 22:40:57 +03: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