Commit Graph

98955 Commits

Author SHA1 Message Date
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
Aleksi Juvani
6dc763eed5 Fix nits 2019-09-07 19:04:59 +03: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
Aleksi Juvani
691f645ecd Fix sysroot on macOS when cross-compiling and SDKROOT is set
Fixes rust-lang/cargo#7283
Closes rust-lang/cargo#7284

r? @alexcrichton
2019-09-07 17:20:12 +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