| Age | Commit message (Collapse) | Author | Lines |
|
Progresses #61137
|
|
On mismatched argument count point at arguments
|
|
Update tests
Extend to other operations
Refractor check in a separate function
Fix more tests
|
|
Same idea for `Unsafety` & use new span for better diagnostics.
|
|
|
|
Make issue references consistent
Fixes https://github.com/rust-lang/rust/issues/62976
cc https://github.com/rust-lang/rust/pull/63008
r? @varkor because you reviewed the original pr
|
|
Add long error code explanation message for E0637
Reference issue [#61137](https://github.com/rust-lang/rust/issues/61137)
To incorporate a long error description for E0637, I have made the necessary modification to error_codes.rs and added error_codes/E0637.md, and blessed the relevant .stderror files. ~~, however when I build rustc stage 1, I am unable to make `$ rustc --explain E0637` work even though rustc appears to be able to call up the long error explanations for other errors. I wanted to guarantee this would work before moving on the blessing the various ui tests that have been affected. @GuillaumeGomez Do you know the most likely reason(s) why this would be the case?~~
Update: `$ rustc --explain E0637` works now.
|
|
|
|
Initial implementation of `#![feature(move_ref_pattern)]`
Following up on #45600, under the gate `#![feature(move_ref_pattern)]`, `(ref x, mut y)` is allowed subject to restrictions necessary for soundness. The match checking implementation and tests for `#![feature(bindings_after_at)]` is also adjusted as necessary.
Closes #45600.
Tracking issue: #68354.
r? @matthewjasper
|
|
|
|
|
|
|
|
Account for HR lifetimes when suggesting introduction of named lifetime
```
error[E0106]: missing lifetime specifier
--> src/test/ui/suggestions/fn-missing-lifetime-in-item.rs:2:32
|
2 | struct S2<F: Fn(&i32, &i32) -> &i32>(F);
| ---- ---- ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2
= note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
help: consider making the bound lifetime-generic with a new `'a` lifetime
|
2 | struct S2<F: for<'a> Fn(&'a i32, &'a i32) -> &'a i32>(F);
| ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^
help: consider introducing a named lifetime parameter
|
2 | struct S2<'a, F: Fn(&'a i32, &'a i32) -> &'a i32>(F);=
| ^^^ ^^^^^^^ ^^^^^^^ ^^^
```
Follow up to #68267. Addresses the diagnostics part of #49287.
|
|
|
|
|
|
|
|
suggestions when possible
|
|
Stemming from the thread at https://twitter.com/indygreg/status/1223279056398929920
|
|
|
|
when they don't
|
|
bindings_after_at: harden tests
|
|
Address inconsistency in using "is" with "declared here"
"is" was generally used for NLL diagnostics, but not other diagnostics. Using "is" makes the diagnostics sound more natural and readable, so it seems sensible to commit to them throughout.
r? @Centril
|
|
|
|
|
|
|
|
adding one
|
|
This doesn't mention that using an existing lifetime is possible, but
that would hopefully be clear as always being an option. The intention
of this is to teach newcomers what the lifetime syntax is.
|
|
|
|
Account for common `impl Trait`/`dyn Trait` return type errors
- When all return paths have the same type, suggest `impl Trait`.
- When all return paths implement the expected `trait`, suggest `Box<dyn Trait>` and mention using an `enum`.
- When multiple different types are returned and `impl Trait` is expected, extend the explanation.
- When return type is `impl Trait` and the return paths do not implement `Trait`, point at the returned values.
- Split `src/librustc/traits/error_reporting.rs` into multiple files to keep size under control.
Fix #68110, cc #66523.
|
|
|
|
|
|
|
|
|
|
When a type error involves a `dyn Trait` as the return type, do not emit
the type error, as the "return type is not `Sized`" error will provide
enough information to the user.
|
|
Suggest `impl Trait` when possible, and `Box<dyn Trait>` otherwise.
|
|
Fix some issue numbers of unstable features
Looking into the unstable book, some issue numbers are outdated.
|
|
|
|
|
|
Also fix a bug with the span passed in `mk_range`.
|
|
Unify output of "variant not found" errors
Fix #49566.
|
|
|
|
|
|
|
|
|
|
Cleanup pattern type checking, fix diagnostics bugs (+ improvements)
r? @estebank
|
|
Suggest type param when encountering `_` in item signatures
Fix #27435.
|
|
The existing wording was inappropriate for e.g.
`if let Ok(_) = expr { .. }`. The diagnostic would
leak the fact that we desugar to a `match`.
|
|
|
|
When encountering `_` type placeholder in fn arguments and return type,
suggest using generic type parameters.
Expand what counts as an inferable return type to slice, array and
tuples of `_`.
|
|
|