Commit Graph

104389 Commits

Author SHA1 Message Date
Mark Rousskov b9e4174d8c Do not run if rustfmt.toml does not exist
distcheck (and generally publishing tarballs) will not package
rustfmt.toml and we for now still support running tidy etc in those
tarballs.
2019-12-22 07:44:09 -05:00
Guillaume Gomez 0d7a49d356 Implement PrintWithSpace trait on hir::Mutability 2019-12-22 13:31:47 +01:00
bors 26286c7ad0 Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb
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-22 10:30:51 +00:00
Luro02 89986a39a8 add partialeq and eq to cursor 2019-12-22 10:39:58 +01:00
bors 3982d3514e Auto merge of #67505 - Centril:rollup-7win7ty, r=Centril
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-22 07:01:50 +00:00
David Sanders c770f5114c
Fix typo in path parser name 2019-12-21 22:11:02 -07:00
bors 005cf38f7e Auto merge of #67486 - matthiaskrgr:submodule_upd, r=oli-obk
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-22 03:42:58 +00:00
Mazdak Farrokhzad ca528fcc04
Rollup merge of #67504 - Mark-Simulacrum:note-data-offset, r=Centril
Warn against relying on ?Sized being last

Fixes #62522
2019-12-22 02:40:07 +01:00
Mazdak Farrokhzad c35546383f
Rollup merge of #67500 - JohnTitor:non-shorthand-field-patterns, r=Centril
Tweak non_shorthand_field_patterns' suggestion

Fixes #66434

r? @estebank
2019-12-22 02:40:06 +01:00
Mazdak Farrokhzad eaeb1138c6
Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=Centril
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-22 02:40:04 +01:00
Mazdak Farrokhzad 877dc9daa8
Rollup merge of #67439 - Centril:clean-hair-slice, r=matthewjasper
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-22 02:40:03 +01:00
Mazdak Farrokhzad 35ff2f1df3
Rollup merge of #67410 - mati865:mingw_link_fix, r=Mark-Simulacrum
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-22 02:40:01 +01:00
Mazdak Farrokhzad 616373e668
Rollup merge of #67148 - Centril:ty-polish, r=estebank
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-22 02:40:00 +01:00
Mark Rousskov a34c2677af Warn against relying on ?Sized being last 2019-12-21 20:35:41 -05:00
Mark Rousskov dddd872427 Implement rustfmt running manually using ignore crate
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-21 20:23:55 -05:00
Adam Perry 2b081abe94 Include formatting check in the test step for tidy. 2019-12-21 20:23:39 -05:00
Adam Perry 5f17b63dac Format src/librustc_fs_util.
In total it's about 100 lines of code and has received less than 5 commits in 2019 -- a good starting point.
2019-12-21 20:23:39 -05:00
Adam Perry a08c56295a Implement `./x.py fmt [--check]`. 2019-12-21 20:23:39 -05:00
Adam Perry 72a844dee7 bootstrap.py fetches rustfmt.
Co-Authored-By: Mark Rousskov <mark.simulacrum@gmail.com>
2019-12-21 20:23:39 -05:00
Adam Perry 8369a1a31a Add individual crates to rustfmt ignore list.
Co-Authored-By: Mark Rousskov <mark.simulacrum@gmail.com>
2019-12-21 20:23:39 -05:00
bors 6e9172f633 Auto merge of #66932 - rust-lang:pass-check-runfail, r=petrochenkov
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-22 00:10:13 +00:00
Yuki Okushi 30e84b0244 Tweak non_shorthand_field_patterns' suggestion 2019-12-22 08:21:36 +09:00
Camille GILLOT baa49b2343 Nits. 2019-12-21 23:40:58 +01:00
Camille GILLOT 5f5b6e7c67 Tidy. 2019-12-21 23:40:55 +01:00
Camille GILLOT 9694ab9e18 Use Arena inside hir::Body. 2019-12-21 23:39:19 +01:00
Camille GILLOT 42c03e4bb4 Use Arena inside hir::Mod. 2019-12-21 23:34:34 +01:00
Camille GILLOT e2526120f2 Use Arena inside hir::StructField. 2019-12-21 23:33:42 +01:00
Camille GILLOT 4f1c88be46 Use Arena inside hir::EnumDef. 2019-12-21 23:32:42 +01:00
Camille GILLOT 5fec1ca0ff Use Arena inside hir::ImplItem. 2019-12-21 23:31:47 +01:00
Camille GILLOT 0f7d77363b Use Arena inside hir::TraitItem. 2019-12-21 23:30:52 +01:00
Camille GILLOT acf33f2d6b Use Arena inside hir::ForeignItem. 2019-12-21 23:29:27 +01:00
Camille GILLOT abbe6259e1 Handle Attributes in arena. 2019-12-21 23:20:09 +01:00
Camille GILLOT 084e6722f9 Use Arena inside hir::Item. 2019-12-21 23:17:29 +01:00
Ben Lewis c010d843aa Add simpler entry points to const eval for common usages. 2019-12-22 11:15:16 +13:00
Camille GILLOT 4dc79f1f7d Use Arena inside hir::Crate. 2019-12-21 23:12:44 +01:00
Mazdak Farrokhzad 73e6a2174a add build-fail to 32-bit tests 2019-12-21 22:33:36 +01:00
Mazdak Farrokhzad 03046abbd0 fix rebase fallout 2019-12-21 22:16:00 +01:00
Mazdak Farrokhzad 27b75a580d refactor & address review comments 2019-12-21 22:16:00 +01:00
Mazdak Farrokhzad b4420c8f5c rework run-fail and support check,build-fail 2019-12-21 22:16:00 +01:00
Mazdak Farrokhzad d8b817810f make `--pass check` work with `// run-fail` tests 2019-12-21 22:16:00 +01:00
Mazdak Farrokhzad f5a8d1ab03 simplify MIR building with cfg.goto(...) 2019-12-21 22:10:16 +01:00
Mazdak Farrokhzad 4f0dc7b06c misc cleanup in match MIR building 2019-12-21 22:10:16 +01:00
bors 5535c25314 Auto merge of #67495 - Centril:rollup-6aer3xg, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #67160 (Make GATs less ICE-prone.)
 - #67333 ([mir-opt] Fix `Inline` pass to handle inlining into `box` expressions)
 - #67420 (use _val to ignore parameter of any::type_name_of_val)
 - #67469 (Remove rustc-dev from the default nightly components)
 - #67489 (Drop petgraph dependency from bootstrap)
 - #67490 (Document privacy of RangeInclusive fields)
 - #67491 (use Result::map_or for bootstrap)

Failed merges:

r? @ghost
2019-12-21 20:59:22 +00:00
Guillaume Gomez 5a0d747eef Remove clean::Mutability enum 2019-12-21 21:19:03 +01:00
Matthias Krüger f51f0e1b9a submodules: update clippy from 69f99e74 to cfb33200
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
There are no per-file copyright headers anymore
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
````
2019-12-21 21:04:28 +01:00
LeSeulArtichaut 62714f8b17 Update unstable book build to use NonZeroU32 2019-12-21 20:45:36 +02:00
Mazdak Farrokhzad db4818f325 span_suggestion_hidden -> tool_only_span_suggestion 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad 52fa020bbf unwrap -> expect 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad d6f37c66c7 parse_ty_bare_fn: improve docs 2019-12-21 19:20:41 +01:00
Mazdak Farrokhzad d0105600d1 document parse_late_bound_lifetime_defs 2019-12-21 19:20:41 +01:00