about summary refs log tree commit diff
path: root/tests/ui/structs
AgeCommit message (Collapse)AuthorLines
2023-11-24Show number in error message even for one errorNilstrieb-17/+17
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-19Rollup merge of #117110 - estebank:deref-field-suggestion, r=b-naberTakayuki Maeda-7/+42
Suggest field typo through derefs Take into account implicit dereferences when suggesting fields. ``` error[E0609]: no field `longname` on type `Arc<S>` --> $DIR/suggest-field-through-deref.rs:10:15 | LL | let _ = x.longname; | ^^^^^^^^ help: a field with a similar name exists: `long_name` ``` CC https://github.com/rust-lang/rust/issues/78374#issuecomment-719564114
2023-11-18tweak logic of "unknown field" labelEsteban Küber-5/+30
2023-11-16recover primary span labelEsteban Küber-2/+2
2023-11-16Suggest `unwrap()` on field not found for `Result`/`Option`Esteban Küber-2/+12
When encountering a `Result<T, _>` or `Option<T>` where `T` has a field that's being accessed, suggest calling `.unwrap()` to get to the field.
2023-11-16Suggest replacing `Self` with the right type on type errorEsteban Küber-0/+4
When encountering a type error caused by the use of `Self`, suggest using the actual type name instead. ``` error[E0308]: mismatched types --> $DIR/struct-path-self-type-mismatch.rs:13:9 | LL | impl<T> Foo<T> { | - ------ this is the type of the `Self` literal | | | found type parameter LL | fn new<U>(u: U) -> Foo<U> { | - ------ expected `Foo<U>` because of return type | | | expected type parameter LL | / Self { LL | | LL | | inner: u LL | | LL | | } | |_________^ expected `Foo<U>`, found `Foo<T>` | = note: expected struct `Foo<U>` found struct `Foo<T>` = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters help: use the type name directly | LL | Foo::<U> { | ~~~~~~~~ ``` Fix #76086.
2023-11-16Point at impl self ty on type error involving `Self`Esteban Küber-1/+3
When encountering a type error involving a `Self` literal, point at the self type of the enclosing `impl`. CC #76086.
2023-11-10Recurse over the method chain and maintain a stack to peek at previous ↵Swapna Iyer-0/+46
receiver to align spans
2023-10-17Unify suggestion wordingEsteban Küber-3/+3
2023-06-22Tweak privacy errors to account for reachable itemsEsteban Küber-2/+6
Suggest publicly accessible paths for items in private mod: When encountering a path in non-import situations that are not reachable due to privacy constraints, search for any public re-exports that the user could use instead. Track whether an import suggestion is offering a re-export. When encountering a path with private segments, mention if the item at the final path segment is not publicly accessible at all. Add item visibility metadata to privacy errors from imports: On unreachable imports, record the item that was being imported in order to suggest publicly available re-exports or to be explicit that the item is not available publicly from any path. In order to allow this, we add a mode to `resolve_path` that will not add new privacy errors, nor return early if it encounters one. This way we can get the `Res` corresponding to the final item in the import, which is used in the privacy error machinery.
2023-06-05Don't mention already set fieldsMichael Goulet-3/+3
2023-04-12Tweak output for 'add line' suggestionEsteban Küber-1/+2
2023-03-30better diagnostics for pattern matching tuple structsMaciej Wasilewski-2/+21
Better diagnostic message when trying to pattern match a tuple struct with a struct pattern.
2023-02-23diagnostics: remove inconsistent English article "this" from E0107Michael Howell-8/+8
Consider `tests/ui/const-generics/generic_const_exprs/issue-102768.stderr`, the error message where it gives additional notes about where the associated type is defined, and how the dead code lint doesn't have an article, like in `tests/ui/lint/dead-code/issue-85255.stderr`. They don't have articles, so it seems unnecessary to have one here.
2023-01-30Modify primary span label for E0308Esteban Küber-9/+9
The previous output was unintuitive to users.
2023-01-11When suggesting writing a fully qualified path probe for appropriate typesEsteban Küber-3/+3
Fix #46585.
2023-01-11Move /src/test to /testsAlbert Larsan-0/+1699