Commit Graph

121304 Commits

Author SHA1 Message Date
flip1995
0e857c27e2
Update RLS to clippyup branch 2020-05-28 20:04:49 +02:00
Esteban Küber
1bd69702de Account for Self as a type param 2020-05-28 10:36:21 -07:00
Niko Matsakis
0e3b31c641
Update src/librustdoc/core.rs 2020-05-28 13:23:33 -04:00
Vadim Petrochenkov
1eef0c3c1e rustc_lint: Remove unused_crate_dependencies from the unused group 2020-05-28 20:03:36 +03:00
Ivan Tham
42a4f5ac50
Fix grammar in liballoc raw_vec 2020-05-29 00:40:41 +08:00
Eric Huss
4329261095 Remove rustc-ux-guidelines 2020-05-28 08:23:23 -07:00
flip1995
914ff97f2b
Temp fix: don't run cargo lint tests in rustc test suite 2020-05-28 17:19:30 +02:00
Joshua M. Clulow
bb745d6a18 update data layout for illumos x86
In a recent change, 8b199222cc,
adjustments were made to the data layout we pass to LLVM.
Unfortunately, the illumos target was missed in this change.
See also: https://github.com/rust-lang/rust/pull/67900
2020-05-28 08:09:10 -07:00
flip1995
f20fa1b1bb
Update Cargo.lock 2020-05-28 15:47:54 +02:00
Igor Matuszewski
489b7e4123
Set CFG_RELEASE for tools in bootstrap/tool.rs
Since rustc-ap-* v659 we now need to set CFG_RELEASE for
rustc-ap-rustc_attr for `#[cfg(version(...))]` to work.

Co-authored-by: Eric Huss <ehuss@users.noreply.github.com>
2020-05-28 15:46:59 +02:00
Igor Matuszewski
84eae777c1
submodules: Update RLS and Rustfmt 2020-05-28 15:46:52 +02:00
flip1995
873ddf7da0
Merge commit '7ea7cd165ad6705603852771bf82cc2fd6560db5' into clippyup2 2020-05-28 15:45:24 +02:00
Guillaume Gomez
bcf57d8f20 Fix escape key handling 2020-05-28 14:51:12 +02:00
Ralf Jung
52ed89ae8c from_u32_unchecked: check validity when debug assertions are enabled 2020-05-28 14:04:36 +02:00
David Wood
a54ed872cb
standardize limit comparisons with Limit type
This commit introduces a `Limit` type which is used to ensure that all
comparisons against limits within the compiler are consistent (which can
result in ICEs if they aren't).

Signed-off-by: David Wood <david@davidtw.co>
2020-05-28 10:33:07 +01:00
David Wood
804e9e546d
mir: adjust conditional in recursion limit check
This commit adjusts the condition used in the recursion limit check of
the monomorphization collector, from `>` to `>=`.

In #67552, the test case had infinite indirect recursion, repeating a
handful of functions (from the perspective of the monomorphization
collector): `rec` -> `identity` -> `Iterator::count` -> `Iterator::fold`
-> `Iterator::next` -> `rec`.

During this process, `resolve_associated_item` was invoked for
`Iterator::fold` (during the construction of an `Instance`), and
ICE'd due to substitutions needing inference. However, previous
iterations of this recursion would have called this function for
`Iterator::fold` - and did! - and succeeded in doing so (trivially
checkable from debug logging, `()` is present where `_` is in the substs
of the failing execution).

The expected outcome of this test case would be a recursion limit error
(which is present when the `identity` fn indirection is removed), and
the recursion depth of `rec` is increasing (other functions finish
collecting their neighbours and thus have their recursion depths reset).

When the ICE occurs, the recursion depth of `rec` is 256 (which matches
the recursion limit), which suggests perhaps that a different part of
the compiler is using a `>=` comparison and returning a different result
on this recursion rather than what it returned in every previous
recursion, thus stopping the monomorphization collector from reporting
an error on the next recursion, where `recursion_depth_of_rec > 256`
would have been true.

With grep and some educated guesses, we can determine that
the recursion limit check at line 818 in
`src/librustc_trait_selection/traits/project.rs` is the other check that
is using a different comparison. Modifying either comparison to be `>` or
`>=` respectively will fix the error, but changing the monomorphization
collector produces the nicer error.

Signed-off-by: David Wood <david@davidtw.co>
2020-05-28 10:18:51 +01:00
Yuki Okushi
e069524c48
Add test for #66930 2020-05-28 16:50:10 +09:00
CAD97
cd6a8cae2a FIx off-by-one in char::steps_between 2020-05-28 01:33:28 -04:00
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