summary refs log tree commit diff
path: root/src/test/ui/borrowck
AgeCommit message (Collapse)AuthorLines
2022-09-06Shrink span for bindings with subpatterns.Camille GILLOT-61/+61
2022-09-05Don't suggest reborrow if usage is inside a closureMichael Goulet-0/+31
2022-09-01do not suggest adding `move` to closure when `move` is already usedTakayuki Maeda-0/+26
2022-08-31Fix a bunch of typoDezhi Wu-3/+3
This PR will fix some typos detected by [typos]. I only picked the ones I was sure were spelling errors to fix, mostly in the comments. [typos]: https://github.com/crate-ci/typos
2022-08-25Provide structured suggestion for `hashmap[idx] = val`Esteban Küber-7/+16
2022-08-23Suggest alternatives when trying to mutate a `HashMap`/`BTreeMap` via indexingChayim Refael Friedman-0/+3
The error can be quite confusing to newcomers.
2022-08-20Rollup merge of #100507 - cameron1024:suggest-lazy, r=compiler-errorsMatthias Krüger-0/+1
suggest `once_cell::Lazy` for non-const statics Addresses https://github.com/rust-lang/rust/issues/100410 Some questions: - removing the `if` seems to include too many cases (e.g. calls to non-const functions inside a `const fn`), but this code excludes the following case: ```rust const FOO: Foo = non_const_fn(); ``` Should we suggest `once_cell` in this case as well? - The original issue mentions suggesting `AtomicI32` instead of `Mutex<i32>`, should this PR address that as well?
2022-08-20Rollup merge of #100186 - compiler-errors:or-as_mut, r=fee1-deadMatthias Krüger-4/+1
Mention `as_mut` alongside `as_ref` in borrowck error message Kinda fixes #99426 but I guess that really might be better staying open to see if we could make it suggest `as_mut` in a structured way. Not sure how to change borrowck to know that info tho.
2022-08-16Make as_ref suggestion a noteMichael Goulet-4/+1
2022-08-15Fix #95079 by adding help and suggestion for missing move in nested closureYan Chen-0/+59
2022-08-14suggest lazy-static for non-const staticscameron-0/+1
2022-08-14Suggest as_ref or as_mutMichael Goulet-1/+1
2022-08-03fix trailing whitespace in error messageklensy-1/+1
2022-07-31Improve `cannot move out of` error messageObei Sideg-2/+2
2022-07-19Mention first and last macro in backtraceMichael Goulet-12/+12
2022-07-15Move tests to fit in limitEsteban Küber-0/+89
2022-07-15Provide structured suggestion for dropped temp valueEsteban Küber-6/+22
2022-07-13remove untagged_union feature gateRalf Jung-25/+23
2022-07-08Auto merge of #98482 - cjgillot:short-struct-span-closure, r=estebankbors-199/+152
Shorten def_span of closures to just their header Continuation of https://github.com/rust-lang/rust/pull/93967.
2022-07-07Wording tweakEsteban Küber-9/+11
2022-07-07Fix label on uninit binding field assignmentEsteban Küber-2/+2
2022-07-07Add test for `for` loop maybe initializing bindingEsteban Küber-0/+20
2022-07-07Review comments: wordingEsteban Küber-17/+18
2022-07-07Tweak wording and spansEsteban Küber-173/+173
2022-07-07On partial uninit error point at where we need initEsteban Küber-187/+391
When a binding is declared without a value, borrowck verifies that all codepaths have *one* assignment to them to initialize them fully. If there are any cases where a condition can be met that leaves the binding uninitialized or we attempt to initialize a field of an unitialized binding, we emit E0381. We now look at all the statements that initialize the binding, and use them to explore branching code paths that *don't* and point at them. If we find *no* potential places where an assignment to the binding might be missing, we display the spans of all the existing initializers to provide some context.
2022-07-07Fix borrowck closure span.Camille GILLOT-22/+48
2022-07-07Shorten span for closures.Camille GILLOT-187/+114
2022-07-01Shorten def_span for more items.Camille GILLOT-26/+14
2022-06-29Make RPIT and TAIT work exactly the sameOli Scherer-4/+15
2022-06-28Do not use a suggestion to change a binding's name to a typeMichael Goulet-12/+13
2022-06-28Remove redundant logic to suggest `as_ref`Michael Goulet-0/+47
2022-06-25bless after rebaseRalf Jung-0/+39
2022-06-24Auto merge of #98109 - nikomatsakis:issue-98095, r=jackh726bors-68/+5
fix universes in the NLL type tests In the NLL code, we were not accommodating universes in the `type_test` logic. Fixes #98095. r? `@compiler-errors` This breaks some tests, however, so the purpose of this branch is more explanatory and perhaps to do a crater run.
2022-06-21Move some tests to more reasonable directoriesCaio-147/+0
2022-06-16 fix one more case of trailing spaceklensy-23/+23
2022-06-16diagnostics: fix trailing spaceklensy-3/+3
2022-06-15generalize the outlives obligation codeNiko Matsakis-68/+5
The code now accepts `Binder<OutlivesPredicate>` instead of just `OutlivesPredicate` and thus exercises the new, generalized `IfEqBound` codepaths. Note though that we never *produce* Binder<OutlivesPredicate>, so we are only testing a subset of those codepaths that excludes actual higher-ranked outlives bounds.
2022-06-14implement valtrees as the type-system representation for constant valuesb-naber-9/+51
2022-06-03Fully stabilize NLLJack Huey-448/+99
2022-06-01Add regression test for #71546Yuki Okushi-0/+39
2022-05-28Add regression test for #81899Yuki Okushi-0/+30
2022-05-22Use revisions for NLL in borrowckJack Huey-26/+121
2022-05-08Move some tests to more reasonable placesCaio-0/+25
2022-05-06Resolve vars in note_type_errJack Huey-22/+0
2022-04-20Remove mutable_borrow_reservation_conflict lintJack Huey-241/+72
2022-04-08suggest adding a local for vector to fix borrowck errorsTakayuki Maeda-0/+78
2022-03-09Auto merge of #94515 - estebank:tweak-move-error, r=davidtwcobors-15/+26
Tweak move error Point at method definition that causes type to be consumed. Fix #94056.
2022-03-07Update tests after feature stabilizationEric Holk-10/+8
2022-03-06Erase regions when checking for missing Copy predicatesMichael Goulet-0/+31
2022-03-03Tweak move errorEsteban Kuber-15/+26
Point at method definition that causes type to be consumed. Fix #94056.