104707 Commits

Author SHA1 Message Date
Mark Rousskov
73996df629 Reset Formatter flags on exit from pad_integral
This fixes a bug where after calling pad_integral with appropriate flags, the
fill and alignment flags would be set to '0' and 'Right' and left as such even
after exiting pad_integral, which meant that future calls on the same Formatter
would get incorrect flags reported.

This is quite difficult to observe in practice, as almost all formatting
implementations in practice don't call `Display::fmt` directly, but rather use
`write!` or a similar macro, which means that they cannot observe the effects of
the wrong flags (as `write!` creates a fresh Formatter instance). However, we
include a test case.
2020-01-01 15:22:02 -05:00
bors
119307a83e Auto merge of #67764 - Centril:rollup-ycbq3os, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #67574 (Extract `rustc_ast_lowering` crate from `rustc`)
 - #67685 (Constify Result)
 - #67702 (Add symbol normalization for proc_macro_server.)
 - #67730 (Cleanup pattern type checking, fix diagnostics bugs (+ improvements))
 - #67744 (parser: reduce diversity in error handling mechanisms)
 - #67748 (Use function attribute "frame-pointer" instead of "no-frame-pointer-elim")

Failed merges:

r? @ghost
2019-12-31 19:41:36 +00:00
Mazdak Farrokhzad
40579d15db
Rollup merge of #67748 - MaskRay:frame-pointer, r=rkruppe
Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"

LLVM 8 ([D56351](http://reviews.llvm.org/D56351)) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.

-----

In the LLVM monorepo, run `git show origin/release/8.x:llvm/lib/CodeGen/TargetOptionsImpl.cpp` to see that `"frame-pointer"` is available since LLVM 8.
2019-12-31 19:19:39 +01:00
Mazdak Farrokhzad
3cca3c6ace
Rollup merge of #67744 - Centril:reduce-diversity, r=petrochenkov
parser: reduce diversity in error handling mechanisms

Instead of having e.g. `span_err`, `fatal`, etc., we prefer to move towards uniformly using `struct_span_err` thus making it harder to emit fatal and/or unstructured diagnostics.

This PR also de-fatalizes some diagnostics.

r? @estebank
2019-12-31 19:19:38 +01:00
Mazdak Farrokhzad
50fb8480db
Rollup merge of #67730 - Centril:typeck-pat-cleanup, r=estebank
Cleanup pattern type checking, fix diagnostics bugs (+ improvements)

r? @estebank
2019-12-31 19:19:36 +01:00
Mazdak Farrokhzad
bc5963d2eb
Rollup merge of #67702 - crlf0710:normalize_ident2, r=petrochenkov
Add symbol normalization for proc_macro_server.

Follow up for #66670, finishing the first bullet point in #55467.

r? @petrochenkov
2019-12-31 19:19:34 +01:00
Mazdak Farrokhzad
89fbed98c2
Rollup merge of #67685 - lukaslueg:const_result, r=oli-obk
Constify Result

r? @oli-obk

This is just the `Result`-part of #67494 which I'll resubmit once #66254 has landed.
2019-12-31 19:19:33 +01:00
Mazdak Farrokhzad
3cf2bc0e51
Rollup merge of #67574 - Centril:librustc_lowering, r=Mark-Simulacrum
Extract `rustc_ast_lowering` crate from `rustc`

Working towards https://github.com/rust-lang/rust/issues/65031.

This PR moves `src/librustc/hir/lowering{/, .rs}` to its own crate (`librustc_ast_lowering`) which is very self-contained (only `fn lower_crate` and `trait Resolver` are exposed).

r? @Mark-Simulacrum
2019-12-31 19:19:31 +01:00
Mazdak Farrokhzad
70eca998d7 nix lower_label identity function. 2019-12-31 17:57:17 +01:00
Mazdak Farrokhzad
52179c56be librustc_ast_lowering: fix misc fallout. 2019-12-31 17:56:25 +01:00
Mazdak Farrokhzad
7b6ef2b369 librustc_ast_lowering: cargo changes. 2019-12-31 17:33:10 +01:00
Mazdak Farrokhzad
ce8dbf05f9 librustc_ast_lowering: move the files. 2019-12-31 17:27:34 +01:00
bors
769eb2194a Auto merge of #67699 - cjgillot:passes-resolve, r=Zoxc
Move resolve_lifetimes query in librustc_resolve.

Split out of #67688

r? @Zoxc
2019-12-31 16:21:10 +00:00
Lukas Lueg
954c432a87 Constify Result 2019-12-31 15:13:37 +01:00
bors
5095101528 Auto merge of #67752 - Dylan-DPC:rollup-7f9v4nx, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #67430 (doc: minus (U+2212) instead of dash (U+002D) for negative infinity)
 - #67697 (Move the region_scope_tree query to librustc_passes.)
 - #67719 (Add self to .mailmap)
 - #67723 (Add error code explanation for E0477)
 - #67735 (Support `-Z ui-testing=yes/no`)

Failed merges:

r? @ghost
2019-12-31 12:58:10 +00:00
Dylan DPC
529a42a1a6
Rollup merge of #67735 - petrochenkov:uibool, r=Mark-Simulacrum
Support `-Z ui-testing=yes/no`

`ui-testing` is now a boolean option (`-Z ui-testing=yes/no`) and can be specified multiple times with later values overriding earlier values (`-Z ui-testing=yes -Z ui-testing=no` == `-Z ui-testing=no`), so it can be set in a hierarchical way, e.g. UI testing infra may enable it by default with specific tests being able to opt-out.

This way we can remove the special opt-out support from `compiletest`.

Inspired by https://github.com/rust-lang/rust/pull/67709.
2019-12-31 18:14:07 +05:30
Dylan DPC
cf24b6bcbf
Rollup merge of #67723 - ldm0:E0477, r=Dylan-DPC
Add error code explanation for E0477

Part of #61137
2019-12-31 18:14:06 +05:30
Dylan DPC
b223f5b043
Rollup merge of #67719 - jumbatm:add-self-to-mailmap, r=Mark-Simulacrum
Add self to .mailmap

r? @Mark-Simulacrum

Cheers.
2019-12-31 18:14:04 +05:30
Dylan DPC
83f5cf8c4d
Rollup merge of #67697 - cjgillot:passes-scope-tree, r=Zoxc
Move the region_scope_tree query to librustc_passes.

Split out of #67688.

r? @Zoxc
2019-12-31 18:14:03 +05:30
Dylan DPC
2c64475069
Rollup merge of #67430 - tspiteri:minus-inf, r=Dylan-DPC
doc: minus (U+2212) instead of dash (U+002D) for negative infinity

The documentation for [`f32::NEG_INFINITY`](https://doc.rust-lang.org/std/f32/constant.NEG_INFINITY.html) contains “-∞” with a dash instead of a minus sign, “−∞” with a proper minus sign looks better with the used Source Serif Pro font. Similarly for [`f64::NEG_INFINITY`](https://doc.rust-lang.org/std/f64/constant.NEG_INFINITY.html).
2019-12-31 18:14:01 +05:30
bors
71bb0ff33e Auto merge of #67597 - estebank:placeholder-type, r=oli-obk
Suggest type param when encountering `_` in item signatures

Fix #27435.
2019-12-31 09:50:49 +00:00
Camille GILLOT
7e4345ca79 Simplify ResolveLiftimes creation. 2019-12-31 10:21:33 +01:00
Camille GILLOT
31f85d3fe2 Review comments. 2019-12-31 10:21:33 +01:00
Camille GILLOT
1b92e7e446 Inert doc comments. 2019-12-31 10:21:32 +01:00
Camille GILLOT
28eefb3797 Move resolve_lifetimes query in librustc_resolve. 2019-12-31 10:21:32 +01:00
Camille GILLOT
2675765a1e Move resolve_lifetime.rs to librustc_resolve. 2019-12-31 10:21:32 +01:00
Fangrui Song
b40dc30a3e Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"
LLVM 8 (D56351) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.
2019-12-30 23:16:02 -08:00
Mazdak Farrokhzad
2e7806146c parser: bug -> span_bug 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
4ae9c1c3ec parser::diagnostics: remove fn fatal 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
2e812c1c5f parser::pat: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
6fba125912 parser::path: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
51fb599849 parser::module: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
13ca924988 parser::item: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
46ec6becf2 parser::attr: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
85dbbaa492 process_potential_macro_variable: de-fatalize an error 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
5a64ba6386 parser: span_fatal -> struct_span_err 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
b6fc87c5b9 de-fatalize some errors 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
2091062bf6 parser: call .struct_span_err directly 2019-12-31 04:33:34 +01:00
bors
bf2d145c62 Auto merge of #67032 - cjgillot:hirene, r=Zoxc
Allocate HIR on an arena 4/4

This is the fourth and last PR in the series started by #66931, #66936 and #66942.

The last commits should compile on their own.
The difference with the previous PR is given by https://github.com/cjgillot/rust/compare/hirene-ty...hirene

A few more cleanups may be necessary, please tell me.

r? @eddyb like the other
cc @Zoxc
2019-12-31 03:27:36 +00:00
Charles Lew
8f84d9e1de Inline and remove nfc_symbol_from method. 2019-12-31 09:37:45 +08:00
Charles Lew
7f9cc88f4a Add symbol normalization for proc_macro_server. 2019-12-31 09:37:45 +08:00
Camille GILLOT
ac8c0f4008 Enlarge smallvec. 2019-12-30 23:25:47 +01:00
Camille GILLOT
be6cb63fcc Reduce allocations. 2019-12-30 23:09:35 +01:00
Esteban Küber
261b606ddc review comments and fix rebase 2019-12-30 11:47:41 -08:00
bors
a9dd56ff9a Auto merge of #67707 - petrochenkov:crateren, r=Centril
Rename some crates and modules in the frontend

Migrate from `syntax_*` naming scheme to `rustc_*`.
See https://github.com/rust-lang/rust/pull/65324#issuecomment-551103396 and several comments below.

Renamed crates:
`syntax_expand` -> `rustc_expand`
`syntax_pos` -> `rustc_span` ([motivation](https://github.com/rust-lang/rust/pull/65324#issuecomment-552173320))
`syntax_ext` -> `rustc_builtin_macros`

Also one module in resolve is renamed for consistency and to avoid tautology.

r? @Centril
2019-12-30 18:06:54 +00:00
Vadim Petrochenkov
208c1bff0a Support -Z ui-testing=yes/no 2019-12-30 20:01:34 +03:00
Vadim Petrochenkov
7608f21b27 Rename rustc_resolve/resolve_imports.rs -> rustc_resolve/imports.rs 2019-12-30 19:18:18 +03:00
Vadim Petrochenkov
a2823e3af6 Rename libsyntax_ext and libsyntax_expand in code 2019-12-30 19:18:17 +03:00
Vadim Petrochenkov
b9a9c5b4fd Make things build again 2019-12-30 19:18:16 +03:00
Vadim Petrochenkov
b683de4ad7 Rename directories for some crates from syntax_x to rustc_x
`syntax_expand` -> `rustc_expand`
`syntax_pos` -> `rustc_span`
`syntax_ext` -> `rustc_builtin_macros`
2019-12-30 19:18:16 +03:00