about summary refs log tree commit diff
path: root/src/test/ui/borrowck
AgeCommit message (Collapse)AuthorLines
2022-10-01bless ui testsMaybe Waffle-6/+6
2022-09-29Generate synthetic impl region even in closure body in associated fnMichael Goulet-0/+50
2022-09-28Fix missing explanation of where borrowed reference is used when the borrow ↵Yan Chen-2/+8
occurs in loop iteration
2022-09-26Auto merge of #102184 - chenyukang:fix-102087-add-binding-sugg, r=nagisabors-0/+361
Suggest Default::default() when binding isn't initialized Fixes #102087
2022-09-26fix #102087, Suggest Default::default() when binding isn't initializedyukang-0/+361
2022-09-25Rollup merge of #101431 - compiler-errors:move-place-ty-for-move-place-sugg, ↵fee1-dead-0/+50
r=cjgillot Look at move place's type when suggesting mutable reborrow Not sure why we are looking at the use site's ty instead of the move site's ty in order to suggest reborrowing the move site, but it was suppressing a perfectly valid reborrow suggestion. r? `@estebank` who i think touched this last in 520461f1fb2730f8edb17922f3bcc74fccdc52d3, though that was quite a while ago so feel free to reassign.
2022-09-06Shrink span for bindings with subpatterns.Camille GILLOT-61/+61
2022-09-05Look at move place's type when suggesting mutable reborrowMichael Goulet-0/+50
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