121130 Commits

Author SHA1 Message Date
Esteban Küber
f213acf4db review comments: change wording and visual output 2020-05-27 20:58:05 -07:00
Esteban Küber
cb6408afc6 Fix rebase 2020-05-27 19:24:09 -07:00
Joe Richey
7d5415b5a2 Add additional checks for isize overflow
We now perform the correct checks even if the pointer size differs
between the host and target.

Signed-off-by: Joe Richey <joerichey@google.com>
2020-05-27 19:10:17 -07:00
bors
4512721156 Auto merge of #72494 - lcnr:predicate-cleanup, r=nikomatsakis
Pass more `Copy` types by value.

There are a lot of locations where we pass `&T where T: Copy` by reference,
which should both be slightly less performant and less readable IMO.

This PR currently consists of three fairly self contained commits:

- passes `ty::Predicate` by value and stops depending on `AsRef<ty::Predicate>`.
- changes `<&List<_>>::into_iter` to iterate over the elements by value. This would break `List`s
  of non copy types. But as the only list constructor requires `T` to be copy anyways, I think
  the improved readability is worth this potential future restriction.
- passes `mir::PlaceElem` by value. Mir currently has quite a few copy types which are passed by reference, e.g. `Local`. As I don't have a lot of experience working with MIR, I mostly did this to get some feedback from people who use MIR more frequently
- tries to reuse `ty::Predicate` in case it did not change in some places, which should hopefully
  fix the regression caused by #72055

r? @nikomatsakis for the first commit, which continues the work of #72055 and makes adding `PredicateKind::ForAll` slightly more pleasant. Feel free to reassign though
2020-05-28 00:18:52 +00:00
Esteban Küber
c52dbbc643 fix rebase 2020-05-27 16:28:20 -07:00
Esteban Küber
500504c0bd fix rebase 2020-05-27 16:28:20 -07:00
Esteban Küber
2b35247d7a Modify wording 2020-05-27 16:28:20 -07:00
Esteban Küber
d0d30b0a3e fix rebase 2020-05-27 16:28:20 -07:00
Esteban Küber
2e2f82053f review comment: use FxIndexSet 2020-05-27 16:28:20 -07:00
Esteban Küber
3811232190 review comments 2020-05-27 16:28:20 -07:00
Esteban Küber
eb0f4d51df Tweak output for mismatched impl item
Detect type parameter that might require lifetime constraint.
Do not name `ReVar`s in expected/found output.
Reword text suggesting to check the lifetimes.
2020-05-27 16:28:20 -07:00
Esteban Küber
5ba22205a4 Name RegionKind::ReVar lifetimes in diagnostics 2020-05-27 16:28:04 -07:00
Esteban Küber
3fea832fd7 Fix spacing of expected/found notes without a label 2020-05-27 16:27:15 -07:00
LeSeulArtichaut
db684beb4e Whitelist unsafe_op_in_unsafe_fn in rustdoc 2020-05-28 00:45:06 +02:00
Mark Rousskov
b1063b83da Clippy should always build
This just unwraps clippy's build step instead of skipping tests if clippy didn't
build. This matches e.g. cargo's behavior and seems more correct, as we always
expect clippy to successfully build.
2020-05-27 17:25:47 -04:00
Jonas Schievink
1ab0db1272
Fix incorrect comment in generator test 2020-05-27 21:38:38 +02:00
Vadim Petrochenkov
5369f4aa57 rustc_session: Cleanup session creation 2020-05-27 22:32:24 +03:00
Guillaume Gomez
5ba5b65367 Sort fields, variants and other unsorted elements in the sidebar 2020-05-27 21:30:33 +02:00
Guillaume Gomez
5548e69226 Add working example for E0617 explanation 2020-05-27 21:29:09 +02:00
bors
7ea7cd165a Auto merge of #5652 - rust-lang:flip1995-patch-1, r=yaahc
Fail bors on missing changelog

Bors stopped failed if the changelog was missing. Instead it waited 2h (?) and then timed out.

changelog: none
2020-05-27 18:55:57 +00:00
LeSeulArtichaut
63066c0c06 Use LintIds to check for gated lints 2020-05-27 20:37:59 +02:00
LeSeulArtichaut
1b08850622 Fix import 2020-05-27 20:37:59 +02:00
LeSeulArtichaut
e3d27ec1c8 Add explanation about taking the minimum of the two lints 2020-05-27 20:37:59 +02:00
LeSeulArtichaut
4a538d31e0 Do not hardcode lint name 2020-05-27 20:37:59 +02:00
LeSeulArtichaut
3599ada976 Mark deduplicated errors as expected in gate test 2020-05-27 20:37:58 +02:00
LeSeulArtichaut
9671b44609 Add tests for packed borrows in unsafe fns 2020-05-27 20:37:58 +02:00
LeSeulArtichaut
925d5ac45f Fix and bless tests 2020-05-27 20:37:58 +02:00
LeSeulArtichaut
a3bae5ce73 Fix wrong conflict resolution 2020-05-27 20:37:58 +02:00
LeSeulArtichaut
a41f76321a Use the lowest of unsafe_op_in_unsafe_fn and safe_borrow_packed for packed borrows in unsafe fns 2020-05-27 20:37:57 +02:00
LeSeulArtichaut
b3e012becc Fix inverted if condition 2020-05-27 20:37:57 +02:00
LeSeulArtichaut
3ce9d5c269 Add more cases to the test 2020-05-27 20:37:57 +02:00
LeSeulArtichaut
bb67915028 Apply suggestions from code review 2020-05-27 20:37:57 +02:00
LeSeulArtichaut
594c499db9 Add tests 2020-05-27 20:37:57 +02:00
LeSeulArtichaut
a977df35d1 Implement RFC 2585 2020-05-27 20:37:56 +02:00
bors
664fcd3f04 Auto merge of #71996 - Marwes:detach_undo_log, r=nikomatsakis
perf: Revert accidental inclusion of a part of #69218

This was accidentally included in #69464 after a rebase and given
how much `inflate` and `keccak` stresses the obligation forest seems
like a likely culprit to the regression in those benchmarks.

(It is necessary in #69218 as obligation forest needs to accurately
track the root variables or unifications will get lost)
2020-05-27 18:31:45 +00:00
Ralf Jung
7b1187968c expand unaligned_references test 2020-05-27 20:31:17 +02:00
Chris Simpkins
593d1eed82
improve diagnostics suggestion for missing @ in slice id binding to rest pattern
add issue 72373 tests


fmt test


fix suggestion format

Replacement, not insertion of suggested string

implement review changes

refactor to span_suggestion_verbose, improve suggestion message,  change id @ pattern space formatting

fmt


fix diagnostics spacing between ident and @


refactor reference
2020-05-27 14:10:41 -04:00
Ivan Lozano
0c1ef853bb Add -Z profile-emit=<path> for Gcov gcda output.
Adds a -Z flag to control the file path that the Gcov gcda output is
written to during runtime. This flag expects a path and filename, e.g.
-Z profile-emit=gcov/out/lib.gcda.

This works similar to GCC/Clang's -fprofile-dir flag which allows
control over the output path for gcda coverage files.
2020-05-27 14:10:40 -04:00
flip1995
b124892480
Add test for {impl,declare}_lint_pass macros 2020-05-27 16:57:31 +02:00
flip1995
709ddba9fe
Allow types (with lifetimes/generics) in impl_lint_pass 2020-05-27 16:56:57 +02:00
marmeladema
81f8ee458b Store LocalDefId directly in rustc_resolve::Resolver where possible
This commit also include the following changes:
* Remove unused `hir::Map::as_local_node_id` method
* Remove outdated comment about `hir::Map::local_def_id` method
* Remove confusing `GlobMap` type alias
* Use `LocalDefId` instead of `DefId` in `extern_crate_map`
* Use `LocalDefId` instead of `DefId` in `maybe_unused_extern_crates`
* Modify `extern_mod_stmt_cnum` query to accept a `LocalDefId` instead of a `DefId`
2020-05-27 15:55:35 +01:00
bors
2873165725 Auto merge of #72601 - JohnTitor:deps, r=Mark-Simulacrum
Update transitive dependencies to remove some deps

Similar to #71919, this removes some (duplicate) dependencies.
2020-05-27 14:48:33 +00:00
Mikko Rantanen
66e9984938
Fix is_char_boundary documentation 2020-05-27 16:21:30 +03:00
bors
ee3088f27b Auto merge of #5631 - ThibsG:ExtendUselessConversion, r=matthiaskrgr
Extend useless conversion

This PR extends `useless_conversion` lint with `TryFrom` and `TryInto`

fixes: #5344

changelog: Extend `useless_conversion` with `TryFrom` and `TryInto`
2020-05-27 13:06:59 +00:00
bors
2a2208fcc2 Auto merge of #5653 - matthiaskrgr:rustup_47, r=flip1995
rustup https://github.com/rust-lang/rust/pull/72342, allow unused_crate_dependencies

changelog: none
2020-05-27 12:30:32 +00:00
Matthias Krüger
3089c3b307 rustup https://github.com/rust-lang/rust/pull/72342, allow unused_crate_dependencies 2020-05-27 13:57:48 +02:00
bors
acfc558401 Auto merge of #72639 - Dylan-DPC:rollup-76upj51, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #72348 (Fix confusing error message for comma typo in multiline statement)
 - #72533 (Resolve UB in Arc/Weak interaction (2))
 - #72548 (Add test for old compiler ICE when using `Borrow`)
 - #72606 (Small cell example update)
 - #72610 (Remove font-display settings)
 - #72626 (Add remark regarding DoubleEndedIterator)

Failed merges:

r? @ghost
2020-05-27 11:18:53 +00:00
Donough Liu
42ddcd3ec5 Add myself to .mailmap 2020-05-27 16:16:27 +08:00
Joshua Nelson
822ad87325
Add Peekable::next_if
Prior art:

`rust_analyzer` uses
[`Parser::eat`](50f4ae798b/crates/ra_parser/src/parser.rs (L94)), which is `next_if` specialized to
`|y| next_if(|x| x == y)`.

Basically every other parser I've run into in Rust has an equivalent of
Parser::eat; see for example

- [cranelift](94190d5724/cranelift/reader/src/parser.rs (L498))
- [rcc](a8159c3904/src/parse/mod.rs (L231))
- [crunch](8521874fab/crates/crunch-parser/src/parser/mod.rs (L213-L241))
2020-05-26 18:55:18 -07:00
Andy Russell
68bf8d2487
expand env! with def-site context 2020-05-26 21:49:55 -04:00