about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-12-22Remove most files from format ignore listMark Rousskov-20/+23
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-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-30/+181
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-16/+48
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-20/+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-22Auto merge of #66932 - rust-lang:pass-check-runfail, r=petrochenkovbors-406/+613
Revamp `// run-fail` wrt. `--pass` & support `// build-fail` & `// check-fail` Revamp how `// run-fail` tests work internally by having a separate `FailMode` that does not interfere with `PassMode`. In particular, `--pass check` will now have no effect on `// *-fail` tests. Moreover, new test annotations `// check-fail` (the default) and `// build-fail` are added. The latter is useful to distinguish post-monomorphization failures from pre-monomorphization failures as seen throughout the PR. Finally, ensure that non-`Ui` tests do not listen to `--pass check` such that the flag can be used with e.g. `./x.py test --pass check` directly. Fixes #66929. Fixes #67128. r? @petrochenkov cc @RalfJung @ninjasource
2019-12-22Tweak non_shorthand_field_patterns' suggestionYuki Okushi-22/+129
2019-12-21Nits.Camille GILLOT-4/+5
2019-12-21Tidy.Camille GILLOT-25/+60
2019-12-21Use Arena inside hir::Body.Camille GILLOT-65/+69
2019-12-21Use Arena inside hir::Mod.Camille GILLOT-29/+29
2019-12-21Use Arena inside hir::StructField.Camille GILLOT-35/+36
2019-12-21Use Arena inside hir::EnumDef.Camille GILLOT-74/+78
2019-12-21Use Arena inside hir::ImplItem.Camille GILLOT-95/+91
2019-12-21Use Arena inside hir::TraitItem.Camille GILLOT-92/+96
2019-12-21Use Arena inside hir::ForeignItem.Camille GILLOT-63/+72
2019-12-21Handle Attributes in arena.Camille GILLOT-42/+41
2019-12-21Use Arena inside hir::Item.Camille GILLOT-198/+208
2019-12-22Add simpler entry points to const eval for common usages.Ben Lewis-253/+195
2019-12-21Use Arena inside hir::Crate.Camille GILLOT-97/+109
2019-12-21add build-fail to 32-bit testsMazdak Farrokhzad-2/+4
2019-12-21fix rebase falloutMazdak Farrokhzad-8/+9
2019-12-21refactor & address review commentsMazdak Farrokhzad-70/+108
2019-12-21rework run-fail and support check,build-failMazdak Farrokhzad-350/+512