Commit Graph

98546 Commits

Author SHA1 Message Date
Mazdak Farrokhzad e3c2f8fc57 slice_patterns: organize some tests 2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad a1eadca88f slice_patterns: remove gates in tests 2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad 3e3cac010b slice_patterns: remove feature gate test 2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad 3ccb0f9b8f slice_patterns: remove internal uses of gate 2020-01-18 19:33:47 +01:00
Mazdak Farrokhzad 0aebb08115 slice_patterns: adjust error codes 2020-01-18 17:59:44 +01:00
Mazdak Farrokhzad c41443a2b7 stabilize slice_patterns 2020-01-18 17:59:44 +01:00
bors 35b5157db5 Auto merge of #68170 - wesleywiser:stop_const_prop_ref_taking, r=oli-obk
Turn off const propagation of ref taking

Fixes #67529
Fixes #67640
Fixes #67641
Fixes #67862

r? @oli-obk
2020-01-18 11:36:47 +00:00
bors 1b117d7546 Auto merge of #68037 - msizanoen1:riscv-ci, r=alexcrichton
Distribution CI for riscv64gc-unknown-linux-gnu

This modifies `dist-various-1` to build the standard library for RISC-V GNU/Linux.

r? @alexcrichton
2020-01-18 08:18:44 +00:00
bors fb4ac14c5e Auto merge of #67940 - JohnTitor:rustc-guide, r=JohnTitor
Update rustc-guide

r? @ghost

CC: @rust-lang/wg-learning
2020-01-18 04:45:21 +00:00
Tyler Mandry 14d779c3f0 Rollup merge of #68317 - GuillaumeGomez:clean-up-e0199, r=Dylan-DPC
Clean up E0199 explanation

r? @Dylan-DPC
2020-01-17 17:28:23 -08:00
Tyler Mandry dd6a83875e Rollup merge of #68314 - oli-obk:true_unwind, r=eddyb
Stop treating `FalseEdges` and `FalseUnwind` as having semantic value for const eval

This change does not expose loops or conditions to stable const fns because we check those at the HIR level and in the regular const validity checks.

cc @ecstatic-morse

r? @eddyb
2020-01-17 17:28:22 -08:00
Tyler Mandry 9d9c8c69e3 Rollup merge of #68312 - varkor:issue-67753-regression, r=Centril
Add regression test for integer literals in generic arguments in where clauses

Closes https://github.com/rust-lang/rust/issues/67753.
2020-01-17 17:28:20 -08:00
Tyler Mandry 87293cd3d8 Rollup merge of #68291 - tmiasko:sanitizer-tests, r=nikomatsakis
Update sanitizer tests

* Move tests from src/test/run-make-fulldeps to src/test/ui.
* Fix memory sanitizer test to detect the intended issue rather than
  an unrelated one caused by the use of an uninstrumented std.
2020-01-17 17:28:18 -08:00
Tyler Mandry 2a1ab29806 Rollup merge of #68279 - GuillaumeGomez:clean-up-e0198, r=Dylan-DPC
Clean up E0198 explanation

r? @Dylan-DPC
2020-01-17 17:28:17 -08:00
Tyler Mandry 7f6fdef0e9 Rollup merge of #68256 - estebank:bad-sugg-span, r=petrochenkov
Do not ICE on malformed suggestion spans

Under the assumption that suggestions are by their very nature always "best effort", it is ok if we don't display them instead of having an ICE. The underlying issue of the malformed span being _created_ is left unaddressed.

Fix #67567.

r? @petrochenkov
2020-01-17 17:28:15 -08:00
Tyler Mandry fca3264406 Rollup merge of #68204 - ecstatic-morse:item-kind-impl, r=oli-obk
Use named fields for `{ast,hir}::ItemKind::Impl`

Currently, the widely used `ItemKind::Impl` variant is a tuple with seven fields. I want to add an eighth in #68140, which means I have to update most matches on this variant anyways. Giving a name to each field improves readability and makes future changes of this nature much simpler.

This change will cause several tools to break. I will fix them once this is merged.
2020-01-17 17:28:14 -08:00
Tyler Mandry bafe089d1f Rollup merge of #68093 - GuillaumeGomez:fix-deref-impl-typedef, r=oli-obk
Fix deref impl typedef

Fixes #35295.

r? @kinnison
2020-01-17 17:28:12 -08:00
Tyler Mandry c854aecd62 Rollup merge of #66660 - jumbatm:dont_warn_about_snake_case_in_patterns, r=centril
Don't warn about snake case for field puns.

Closes #66362.
2020-01-17 17:28:10 -08:00
Dylan MacKenzie 4743995ed3 Use named fields for hir::ItemKind::Impl 2020-01-17 16:14:29 -08:00
Dylan MacKenzie d461e6d6cb Use named fields for ast::ItemKind::Impl 2020-01-17 15:59:07 -08:00
bors d8dcb6345b Auto merge of #67476 - mark-i-m:simplify-borrow_check-5, r=matthewjasper
Region naming refactoring [6/N]

Followup to #67474

EDIT: this PR is probably best read commit-by-commit...

The major changes in this PR include:
- moving many functions around to modules that better suit them. In particular, a lot of methods were moved from `borrow_check::diagnostics::region_errors` to `borrow_check::region_infer`, and `report_region_errors` was moved from `borrow_check` to `borrow_check::diagnostics::region_errors`.
- `borrow_check::diagnostics::{region_errors, region_name}` are now most comprised of methods on `MirBorrowckCtxt` instead of `RegionInferenceContext`, allowing us to get rid of the annoying `pub(in crate::borrow_check)` on most of the fields of the latter, along with a number of method arguments on many methods.
- I renamed `MirBorrowckCtxt.nonlexical_regioncx` to just `regioncx` because their is no lexical lifetimes any more, and the old name was annoyingly verbose, causing many lines to wrap unnecessarily.
- I got rid of `ErrorRegionNamingContext`. Region naming is implemented as inherent methods on `MirBorrowckCtxt`, so we just move the naming stuff into that struct.

The PR is rather large, but the commits are fairly self-contained (though they don't all compile). There was one minor output change to one test with `compare-mode=nll`, which I think is acceptable.

Between this PR and the last one, a net of 200 lines are removed, most of which was function parameters and context structs 🎉

Some samples:

```diff
-                        self.nonlexical_regioncx.free_region_constraint_info(
-                            &self.body,
-                            &self.local_names,
-                            &self.upvars,
-                            self.mir_def_id,
-                            self.infcx,
-                            borrow_region_vid,
-                            region,
-                        );
+                        self.free_region_constraint_info(borrow_region_vid, region);
```

```diff
-            .or_else(|| {
-                self.give_name_if_anonymous_region_appears_in_yield_ty(
-                    infcx,
-                    body,
-                    *mir_def_id,
-                    fr,
-                    renctx,
-                )
-            });
+            .or_else(|| self.give_name_if_anonymous_region_appears_in_arguments(fr))
```

r? @matthewjasper

cc @eddyb
2020-01-17 21:43:23 +00:00
Guillaume Gomez e8a4b9319c Clean up E0199 explanation 2020-01-17 19:54:07 +01:00
Guillaume Gomez 482dc77dee formatting 2020-01-17 19:51:07 +01:00
Guillaume Gomez 9c6c2f16f0 Clean up E0198 explanation 2020-01-17 19:47:48 +01:00
varkor a91f77ca26 Add regression test for integer literals in generic arguments in where clauses 2020-01-17 16:09:22 +00:00
Oliver Scherer cdc828e7f9 Stop treating FalseEdges and FalseUnwind as having semantic value for const eval 2020-01-17 17:09:05 +01:00
bors 689fca01c5 Auto merge of #68311 - Dylan-DPC:rollup-wzgqw9t, r=Dylan-DPC
Rollup of 4 pull requests

Successful merges:

 - #66564 (Document unsafe blocks in core::{cell, str, sync})
 - #67791 (Implement Lift using interners instead of in_arena)
 - #68278 ([self-profiler] Add example to `-Z help` to turn on query key recording)
 - #68300 (Allow added string.insert benchmarks to compile)

Failed merges:

r? @ghost
2020-01-17 15:58:24 +00:00
Dylan DPC 87a2896b0a Rollup merge of #68300 - ssomers:67281_take_2, r=Dylan-DPC
Allow added string.insert benchmarks to compile

Allow the code added by #67281 to compile.

(symptons listed [in internals forum](https://internals.rust-lang.org/t/x-py-how-to-benchmark-liballoc/11635))
r? @llogiq
2020-01-17 18:53:44 +05:30
Dylan DPC ed0e11a3cb Rollup merge of #68278 - wesleywiser:doc_query_key_recording, r=michaelwoerister
[self-profiler] Add example to `-Z help` to turn on query key recording

Also add the `default` option so that it's easy to add query key
recording to the default.

r? @michaelwoerister
2020-01-17 18:53:42 +05:30
Dylan DPC 8c016c3c36 Rollup merge of #67791 - Zoxc:lift-interning, r=eddyb
Implement Lift using interners instead of in_arena

r? @eddyb
cc @cjgillot
2020-01-17 18:53:41 +05:30
Dylan DPC d3589aa4ed Rollup merge of #66564 - foeb:66219-document-unsafe-sync-cell-str, r=Amanieu
Document unsafe blocks in core::{cell, str, sync}

Split from #66506 (issue #66219). Hopefully doing a chunk at a time is more manageable!

r? @RalfJung
2020-01-17 18:53:38 +05:30
bors 71c6346aa1 Auto merge of #68285 - oli-obk:specialization_regression, r=davidtwco
Array repeat expression lengths must be monomorphic at MIR building time

fixes #67743
2020-01-17 12:25:07 +00:00
Wesley Wiser b1d0c118ff [self-profiler] Add example to -Z help to turn on query key recording
Also add the `default` option so that it's easy to add query key
recording to the default.
2020-01-17 06:25:22 -05:00
bors 2480c9eac1 Auto merge of #68305 - Dylan-DPC:rollup-aoohsz8, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #67956 (Detail transitive containment in E0588 diagnostic)
 - #68153 (resolve: Point at the private item definitions in privacy errors)
 - #68195 (Account for common `impl Trait`/`dyn Trait` return type errors)
 - #68288 (Fix some of the rustfmt fallout in Miri)
 - #68292 (don't clone types that are copy)
 - #68301 (Don't propagate __RUST_TEST_INVOKE to subprocess)

Failed merges:

r? @ghost
2020-01-17 09:17:18 +00:00
Dylan DPC 98347cdbff Rollup merge of #68301 - tmandry:dont-propagate-test-invoke, r=alexcrichton
Don't propagate __RUST_TEST_INVOKE to subprocess

When -Z panic_abort_tests is enabled, we use an environment variable to
tell the subprocess which test to invoke. If that subprocess then
invokes another Rust test binary, chaos ensues.

r? @alexcrichton
2020-01-17 11:16:42 +05:30
Dylan DPC 5d5587795e Rollup merge of #68292 - matthiaskrgr:clone_on_copy, r=eddyb
don't clone types that are copy

Found via clippy.

r? @eddyb
2020-01-17 11:16:40 +05:30
Dylan DPC c411c22eb0 Rollup merge of #68288 - RalfJung:fmt, r=oli-obk
Fix some of the rustfmt fallout in Miri

re-post of https://github.com/rust-lang/rust/pull/67833 without the `rustfmt::skip`

r? @oli-obk
2020-01-17 11:16:39 +05:30
Dylan DPC de01a29fbe Rollup merge of #68195 - estebank:impl-trait-2000, r=Centril
Account for common `impl Trait`/`dyn Trait` return type errors

- When all return paths have the same type, suggest `impl Trait`.
- When all return paths implement the expected `trait`, suggest `Box<dyn Trait>` and mention using an `enum`.
- When multiple different types are returned and `impl Trait` is expected, extend the explanation.
- When return type is `impl Trait` and the return paths do not implement `Trait`, point at the returned values.
- Split `src/librustc/traits/error_reporting.rs` into multiple files to keep size under control.

Fix #68110, cc #66523.
2020-01-17 11:16:37 +05:30
Dylan DPC ecf42a3d62 Rollup merge of #68153 - petrochenkov:privdiag, r=estebank
resolve: Point at the private item definitions in privacy errors

A basic version of https://github.com/rust-lang/rust/pull/67951.
r? @estebank
2020-01-17 11:16:36 +05:30
Dylan DPC 9f4b328da2 Rollup merge of #67956 - varkor:E0588-provide-context, r=estebank
Detail transitive containment in E0588 diagnostic

Fixes https://github.com/rust-lang/rust/issues/67383.
2020-01-17 11:16:32 +05:30
bors 91ff7c689d Auto merge of #67731 - matthewjasper:drop-in-place-reclimit, r=eddyb
Handle recursive instantiation of drop shims

The compiler used to hang because the recursion limit was never hit.
2020-01-17 04:13:38 +00:00
Phoebe Bell 022a7de26f Add SAFETY comment for atomic example 2020-01-16 19:26:02 -08:00
Esteban Küber 03240e1359 review comments 2020-01-16 18:55:23 -08:00
Phoebe Bell 0f2ee495e9 Fix formatting: ./x.py fmt 2020-01-16 18:50:53 -08:00
Phoebe Bell c103c284b9 Move comments for tidy 2020-01-16 18:38:04 -08:00
Phoebe Bell ca2fae8edb Elaborate on SAFETY comments 2020-01-16 18:32:21 -08:00
Phoebe Bell e0140ffeb0 Apply suggestions from code review
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-01-16 18:27:44 -08:00
Phoebe Bell a93e99cae7 Fix typo "gurantees -> guarantees" 2020-01-16 18:27:08 -08:00
Phoebe Bell 19fdc6e091 Document unsafe blocks in core::{cell, str, sync} 2020-01-16 18:26:14 -08:00
Esteban Küber 10a9ea4c26 Do not ICE on malformed suggestion spans 2020-01-16 18:14:26 -08:00