about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2019-12-23simplify parse_literal_maybe_minusMazdak Farrokhzad-8/+4
2019-12-23simplify parse_fn_block_declMazdak Farrokhzad-17/+15
2019-12-23refactor parse_fn_block_paramMazdak Farrokhzad-5/+4
2019-12-23refactor parse_if_exprMazdak Farrokhzad-10/+4
2019-12-23more recovery in if-parsingMazdak Farrokhzad-36/+68
2019-12-23refactor loop parsing a bitMazdak Farrokhzad-31/+28
2019-12-23make parse_async_block conventionalMazdak Farrokhzad-9/+6
2019-12-23extract is_certainly_not_a_blockMazdak Farrokhzad-16/+16
2019-12-23extract error_struct_lit_not_allowed_hereMazdak Farrokhzad-10/+11
2019-12-23extract find_struct_error_after_field_looking_codeMazdak Farrokhzad-23/+26
2019-12-23extract recover_struct_comma_after_dotdotMazdak Farrokhzad-15/+17
2019-12-23refactor parse_fieldMazdak Farrokhzad-30/+33
2019-12-23Auto merge of #67540 - Mark-Simulacrum:fmt-the-world, r=Centrilbors-74556/+66164
Format the world This PR modifies the formatting infrastructure a bit in the first commit (to enable the forgotten 2018 edition), as well as removes most directories from the ignore list in rustfmt.toml. It then follows that up with the second commit which runs `x.py fmt` and formats the entire repository. We continue to not format the test directory (`src/test`) because of interactions with pretty printing and, in part, because re-blessing all of those files is somewhat harder to review, so is best suited for a follow up PR in my opinion.
2019-12-22Change bound order in rustfmt testMark Rousskov-2/+2
It is unclear why this changed, but since it seems like a harmless change, we're going to move forward with reformatting.
2019-12-22temporary retry around msys2 installMark Rousskov-4/+6
2019-12-22test falloutMark Rousskov-9/+9
2019-12-22Format the worldMark Rousskov-74456/+66074
2019-12-22Remove most files from format ignore listMark Rousskov-85/+73
Also moves formatting to use edition 2018, and to be done in parallel. This brings near-linear speed ups (at least with a small amount of cores).
2019-12-22Auto merge of #67532 - Centril:rollup-3duj42d, r=Centrilbors-428/+320
Rollup of 8 pull requests Successful merges: - #66877 (Add simpler entry points to const eval for common usages.) - #67299 (Add `ImmTy::try_from_(u)int` methods) - #67487 (Rustdoc mutability removal) - #67499 (Misc MIR building cleanups) - #67506 (Remove iter_private.rs) - #67508 (Fix typo in path parser name) - #67519 (Document why Any is not an unsafe trait) - #67525 (Utilize rust-lang/rust commit hashes in toolstate) Failed merges: r? @ghost
2019-12-22Rollup merge of #67525 - Mark-Simulacrum:fix-toolstate-master, r=CentrilMazdak Farrokhzad-2/+5
Utilize rust-lang/rust commit hashes in toolstate When moving the script out of CI configuration and into a proper script we lost track of the current directory changing (and as such the parameters of the script needing to be different now).
2019-12-22Rollup merge of #67519 - Mark-Simulacrum:any-unsafe, r=CentrilMazdak Farrokhzad-0/+10
Document why Any is not an unsafe trait The added documentation is not public (i.e., not in a doc comment) but that seems appropriate for this sort of low-level detail. Fixes #62303
2019-12-22Rollup merge of #67508 - davesque:master, r=Dylan-DPCMazdak Farrokhzad-2/+2
Fix typo in path parser name It appears that a little typo crept into the name of a path parsing method.
2019-12-22Rollup merge of #67506 - qnighy:remove-iter-private, r=Dylan-DPCMazdak Farrokhzad-17/+0
Remove iter_private.rs The contents of this file have been moved in #56932 (520e8b0) and the file should have been removed as well.
2019-12-22Rollup merge of #67499 - Centril:mir-match-clean, r=matthewjasperMazdak Farrokhzad-103/+49
Misc MIR building cleanups r? @matthewjasper
2019-12-22Rollup merge of #67487 - GuillaumeGomez:rustdoc-mutability-removal, r=CentrilMazdak Farrokhzad-40/+23
Rustdoc mutability removal Fixes #67470. As discussed in another PR, the `clean::Mutability` type in rustdoc is useless. So let's remove it! r? @Centril
2019-12-22Rollup merge of #67299 - christianpoveda:try_immty_from_int, r=RalfJungMazdak Farrokhzad-11/+36
Add `ImmTy::try_from_(u)int` methods r? @RalfJung
2019-12-22Rollup merge of #66877 - skinny121:const-eval-entry-points, r=oli-obkMazdak Farrokhzad-253/+195
Add simpler entry points to const eval for common usages. I found the `tcx.const_eval` API to be complex/awkward to work with, because of the inherent complexity from all of the different situations it is called from. Though it mainly used in one of the following ways: - Evaluates the value of a constant without any substitutions, e.g. evaluating a static, discriminant, etc. - Evaluates the value of a resolved instance of a constant. this happens when evaluating unevaluated constants or normalising trait constants. - Evaluates a promoted constant. This PR adds three new functions `const_eval_mono`, `const_eval_resolve`, and `const_eval_promoted` to `TyCtxt`, which each cater to one of the three ways `tcx.const_eval` is normally used.
2019-12-22Utilize rust-lang/rust commit hashes in toolstateRust Toolstate Update-2/+5
When moving the script out of CI configuration and into a proper script we lost track of the current directory changing (and as such the parameters of the script needing to be different now).
2019-12-22Auto merge of #65939 - anp:incremental-rustfmt-rollout, r=Mark-Simulacrumbors-32/+267
Enable incremental rustfmt adoption Enables an incremental rollout of rustfmt usage within the compiler via a granular ignore configuration and automated enforcement. The decision to format the repository was approved in https://github.com/rust-lang/compiler-team/issues/80#issuecomment-491324079. This PR includes: * an `[ignore]` section to `rustfmt.toml` including most of the repository * `./x.py` downloads rustfmt from a specific nightly (we do not pin to beta or stable as we need unstable features) * an `./x.py fmt [--check]` command which runs cargo-fmt * `./x.py fmt --check` runs during the same test step as `src/tools/tidy`, on master, but not on beta or stable as we don't want to depend on nightly rustfmt there. * a commit to format `src/librustc_fs_util` as an initial target and to ensure enforcement is working from the start
2019-12-22Add error message if `Scalar::from_(u)int` failsChristian Poveda-4/+10
2019-12-22Document why Any is not an unsafe traitMark Rousskov-0/+10
2019-12-22Do not run if rustfmt.toml does not existMark Rousskov-2/+7
distcheck (and generally publishing tarballs) will not package rustfmt.toml and we for now still support running tidy etc in those tarballs.
2019-12-22Implement PrintWithSpace trait on hir::MutabilityGuillaume Gomez-13/+13
2019-12-22Auto merge of #66931 - cjgillot:hirene-preamble, r=eddybbors-781/+856
Allocate HIR on an arena 1/4 This PR is the first in a series of 4, aiming at allocating the HIR on an arena, as a memory optimisation. 1. This first PR lays the groundwork and migrates some low-hanging fruits. 2. The second PR will migrate `hir::Expr`, `hir::Pat` and related. 3. The third PR will migrate `hir::Ty` and related. 4. The final PR will be dedicated to eventual cleanups. In order to make the transition as gradual as possible, some lowering routines receive `Box`-allocated data and move it into the arena. This is a bit wasteful, but hopefully temporary. Nonetheless, special care should be taken to avoid double arena allocations. Work mentored by @Zoxc.
2019-12-22Auto merge of #67505 - Centril:rollup-7win7ty, r=Centrilbors-856/+985
Rollup of 6 pull requests Successful merges: - #67148 ( Refactor type & bounds parsing thoroughly) - #67410 (Reenable static linking of libstdc++ on windows-gnu) - #67439 (Cleanup `lower_pattern_unadjusted` & Improve slice pat typeck) - #67480 (Require issue = "none" over issue = "0" in unstable attributes) - #67500 (Tweak non_shorthand_field_patterns' suggestion) - #67504 (Warn against relying on ?Sized being last) Failed merges: r? @ghost
2019-12-21Fix typo in path parser nameDavid Sanders-2/+2
2019-12-22Auto merge of #67486 - matthiaskrgr:submodule_upd, r=oli-obkbors-5/+11
submodules: update clippy from 69f99e74 to acbc609a Changes: ```` rustup "Merge `ast::Mutability` and `mir::Mutability`" rustup https://github.com/rust-lang/rust/pull/67130 rustup https://github.com/rust-lang/rust/pull/67455 Update lints for `iterator_step_by_zero` changes Fix 'redudant' spelling in redundant_clone docs Fix documentation example for unnecessary_filter_map. Fix `expect_fun_call` false negative on references Fix `iterator_step_by_zero` description in declaration Fix `iterator_step_by_zero` definition Correct `iterator_step_by_zero` documentation Update iterator_step_by_zero Prevent `cmp_nan` when inside constants Detect comparisons with NAN constants Fix clippy build failure ```` r? @oli-obk @Manishearth
2019-12-22Rollup merge of #67504 - Mark-Simulacrum:note-data-offset, r=CentrilMazdak Farrokhzad-0/+4
Warn against relying on ?Sized being last Fixes #62522
2019-12-22Rollup merge of #67500 - JohnTitor:non-shorthand-field-patterns, r=CentrilMazdak Farrokhzad-22/+129
Tweak non_shorthand_field_patterns' suggestion Fixes #66434 r? @estebank
2019-12-22Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=CentrilMazdak Farrokhzad-385/+384
Require issue = "none" over issue = "0" in unstable attributes These changes make the use of `issue = "none"` required in unstable attributes throughout the compiler. Notes: - #66299 is now in beta so `issue = "none"` is accepted. - The `tidy` tool now fails on `issue = "0"`. - Tests that used `issue = "0"` were changed to use `issue = "none"`, except for _one_ that asserts `issue = "0"` can still be used. - The compiler still allows `issue = "0"` because some submodules require it, this could be disallowed once these are updated. Resolves #41260 r? @varkor
2019-12-22Rollup merge of #67439 - Centril:clean-hair-slice, r=matthewjasperMazdak Farrokhzad-162/+96
Cleanup `lower_pattern_unadjusted` & Improve slice pat typeck Following up on https://github.com/rust-lang/rust/pull/67318, in this PR, the HAIR lowering of patterns (`lower_pattern_unadjusted`) is cleaned up with a focus on slice patterns (in particular, some dead code is removed). Moreover, `check_pat_slice` is refactored some more. r? @matthewjasper
2019-12-22Rollup merge of #67410 - mati865:mingw_link_fix, r=Mark-SimulacrumMazdak Farrokhzad-1/+1
Reenable static linking of libstdc++ on windows-gnu Fixes https://github.com/rust-lang/rust/issues/67408 Verified locally that `rustc_driver` is now statically linked to libstdc++.
2019-12-22Rollup merge of #67148 - Centril:ty-polish, r=estebankMazdak Farrokhzad-286/+371
Refactor type & bounds parsing thoroughly PR is based on https://github.com/rust-lang/rust/pull/67131 with first one from this PR being ` extract parse_ty_tuple_or_parens`. Also fixes #67146. r? @estebank
2019-12-21Warn against relying on ?Sized being lastMark Rousskov-0/+4
2019-12-21Implement rustfmt running manually using ignore crateMark Rousskov-18/+52
This replaces cargo-fmt with rustfmt with --skip-children which should allow us to format code without running into rust-lang/rustfmt#3930. This also bumps up the version of rustfmt used to a more recent one.
2019-12-21Include formatting check in the test step for tidy.Adam Perry-0/+8
2019-12-21Format src/librustc_fs_util.Adam Perry-21/+17
In total it's about 100 lines of code and has received less than 5 commits in 2019 -- a good starting point.
2019-12-21Implement `./x.py fmt [--check]`.Adam Perry-5/+70
2019-12-21bootstrap.py fetches rustfmt.Adam Perry-5/+49
Co-Authored-By: Mark Rousskov <mark.simulacrum@gmail.com>
2019-12-21Add individual crates to rustfmt ignore list.Adam Perry-0/+83
Co-Authored-By: Mark Rousskov <mark.simulacrum@gmail.com>