Description
The following tests fail to report the intended errors (most often it is missing the intended number of errors; sometimes failing to report any error at all), not because of a bug in the compiler, but rather because the test was written in a manner that assumes lexical lifetimes.
This issue is just documenting these cases (and I will try to add to the list if more are discovered); a follow-up PR will have the necessary updates to the tests.
(Some of the cases currently listed are only currently slated as "needs investigation", either to whether it should be strengthened, or what the original intent of the test even was, etc. As those questions are resolved, they will be either have their checkbox marked, or just crossed off entirely.)
- borrowck/borrowck-report-with-custom-diagnostic.rs
- borrowck/mut-borrow-outside-loop.rs
- codemap_tests/issue-11715.rs
codemap_tests/one_line.rs- this is not an obvious instance of "weak test"; needs further review
codemap_tests/overlapping_spans.rs- this is a weak test (in the opinion of @pnkfelix ) but its not obvious what the right fix is in order to recover the (hypothesized) original intent.
- Thus, deferring to another issue (TBD).
- dropck/dropck-eyepatch-extern-crate.rs
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
let (a, b);
#51036
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
- dropck/dropck-eyepatch-reorder.rs
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
let (a, b);
#51036
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
- dropck/dropck-eyepatch.rs
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
let (a, b);
#51036
- Some of the Δbehavior may be intended or at least preferred; see NLL lets borrowck observe drop order for
- error-codes/E0499.rs
- error-codes/E0502.rs
- error-codes/E0503.rs
- error-codes/E0505.rs
- error-codes/E0597.rs
- generator/dropck.rs
- generator/pattern-borrow.rs
- hygiene/fields-numeric-borrowck.rs
issue-17263.rs- this was miscategorized initially. I believe it is actually a case where NLL has reenabled smart reasoning about
Box
, which was intended.
- this was miscategorized initially. I believe it is actually a case where NLL has reenabled smart reasoning about
- issue-25793.rs
- issue-42106.rs
- lifetime-errors/ex3-both-anon-regions-2.rs (?)
- see NLL diagnostics fail to report lifetime mismatches #51029 in particular; its not 100% clear that this is merely a weak test.
- huh; I changed my mind. Found way to strengthen test I'm happy with. Should double-check original intent of test vs ifetime-errors/ex3-both-anon-regions.rs though.
- lifetimes/borrowck-let-suggestion.rs
- span/borrowck-let-suggestion-suffixes.rs
- span/issue-36537.rs
- span/mut-ptr-cant-outlive-ref.rs
- span/range-2.rs
- span/regionck-unboxed-closure-lifetimes.rs
- span/send-is-not-static-std-sync.rs
- span/slice-borrow.rs
- span/vec_refs_data_with_early_death.rs
(This list of tests is drawn from an informal paper document that I have been using to keep notes for myself as I work on this...)