about summary refs log tree commit diff
path: root/src/test/ui/hrtb
AgeCommit message (Collapse)AuthorLines
2019-09-16Tweak unsatisfied HRTB errorsEsteban Küber-10/+53
2019-09-08Update test stderr with results of enabling unused lintsMark Rousskov-1/+1
2019-08-31Use span label instead of note for cause in E0631Esteban Küber-83/+63
2019-08-16Update stderr files with --blesssd234678-1/+1
2019-08-16Remove meaningless comments in src/testsd234678-1/+0
2019-07-25Rollup merge of #62736 - lqd:polonius_tests3, r=matthewjasperMazdak Farrokhzad-5/+6
Polonius: fix some cases of `killed` fact generation, and most of the `ui` test suite Since basic Polonius functionality was re-enabled by @matthewjasper in #54468, some tests were still failing in the polonius compare-mode. This PR fixes all but one test in the `ui` suite by: - fixing some bugs in the fact generation code, related to the `killed` relation: Polonius would incorrectly reject some NLL-accepted code, because of these missing `killed` facts. - ignoring some tests in the polonius compare-mode: a lot of those manually test the NLL or migrate mode, and the failures were mostly artifacts of the test revisions, e.g. that `-Z polonius` requires full NLLs. Some others were also both failing with NLL and succeeding with Polonius, which we can't encode in tests at the moment. - blessing the output of some tests: whenever Polonius and NLL have basically the same errors, except for diagnostics differences, the Polonius output is blessed. Whenever we've advanced into a less experimental phase, we'll want to revisit these cases (much like we did on the NLL test suite last year) to specifically work on diagnostics. Fact generation changes: - we now kill loans on the destination place of `Call` terminators - we now kill loans on the locals destroyed by `StorageDead` - we now also handle assignments to projections: killing the loans on a either a deref-ed local, or the ones whose `borrowed_place` conflicts with the current place. One failing test remains: an overflow during fact generation, on a case of polymorphic recursion (and which I'll continue investigating later). This adds some tests for the fact generation changes, with some simple Polonius cases similar to the existing smoke tests, but also for some cases encountered in the wild (in the `rand` crate for example). A more detailed write-up is available [here](https://hackmd.io/CjYB0fs4Q9CweyeTdKWyEg?view) with an explanation for each test failure, the steps taken to resolve it (as a commit in the current PR), NLL and Polonius outputs (and diff), etc. Since they've worked on this before, and we've discussed some of these failures together: r? @matthewjasper
2019-07-23Rollup merge of #62523 - pnkfelix:delay-bug-to-resolve-issue-62203-ice, r=varkorMark Rousskov-0/+72
Delay bug to resolve HRTB ICE Fix #62203
2019-07-22Ignore test hrtb/issue-30786.rs in Polonius compare modelqd-5/+6
2019-07-17normalize use of backticks in compiler messages for librustc/lintSamy Kacimi-1/+1
https://github.com/rust-lang/rust/issues/60532
2019-07-10Regression test for issue 30786.Felix S. Klock II-0/+140
2019-07-09Regression test.Felix S. Klock II-0/+72
2019-05-12Change compare mode to use -Zborrowck=mirMatthew Jasper-0/+85
2019-04-22update tests for migrate mode by defaultMatthew Jasper-48/+6
2019-03-17Updated UI test output to remove test annotations for revisionsMathias Blikstad-3/+3
2019-03-11Update NLL testsVadim Petrochenkov-1/+1
2019-03-11Update testsVadim Petrochenkov-12/+12
2019-02-21update test files to reflect new outputNiko Matsakis-48/+183
One surprise: old-lub-glb-object.rs, may indicate a bug
2019-02-21restore the actual leak-checkNiko Matsakis-0/+84
2019-02-15fix tests post-rebaseFelix S. Klock II-7/+7
2019-01-28Refer to synthetically named lifetimes as "some specific lifetime" rather ↵Rémy Rakic-6/+6
than "the specific lifetime"
2019-01-27When mentioning lifetimes, put either the trait ref or the self type closer ↵Rémy Rakic-10/+10
to the lifetimes When mentioning lifetimes, only invert wording between the expected trait and the self type when the self type has the vid. This way, the lifetimes always stay close to the self type or trait ref that actually contains them.
2019-01-27Update test expectations for new placeholder error messagesRemy Rakic-16/+16
2019-01-27Update two E308 tests to the new placeholder errorlqd-1/+1
2019-01-02address tmandry nitsNiko Matsakis-10/+5
2019-01-02improve handling for subtypeNiko Matsakis-87/+19
Still not great, but good enough to land this PR.
2019-01-02say "the lifetime" instead of "some lifetime" when it feels rightNiko Matsakis-1/+1
In particular, when we want to indicate that there is a connection between the self type and the other types.
2019-01-02apply the same logic to ConcreteFailure errorsNiko Matsakis-7/+5
2019-01-02apply the new placeholder errors even with just one placeholderNiko Matsakis-8/+20
2019-01-02introduce placeholder-placeholder errors for trait matchingNiko Matsakis-16/+10
2019-01-02tests: worse diagnostics, but basically same errorsNiko Matsakis-105/+111
2019-01-02add tests exercising `exists<'a> { forall<'b> { .. } }` patternNiko Matsakis-0/+163
Amazingly, this scenario was not tested for trait matching.
2019-01-02make evaluation track whether outlives relationships matteredNiko Matsakis-0/+41
Previously, evaluation ignored outlives relationships. Since we using evaluation to skip the "normal" trait selection (which enforces outlives relationships) this led to incorrect results in some cases.
2018-12-25Remove licensesMark Rousskov-87/+17
2018-10-03Clearer later use messages for callsMatthew Jasper-1/+1
Give a special message when the later use is from a call. Use the span of the callee instead of the whole expression. For conflicting borrow messages say that the later use is of the first borrow.
2018-08-14Merged migrated compile-fail tests and ui tests. Fixes #46841.David Wood-0/+517