Dylan DPC
fcbe990093
Rollup merge of #103970 - oli-obk:unhide_unknown_spans, r=estebank
...
Unhide unknown spans
r? ```@estebank```
2022-11-12 12:02:51 +05:30
Manish Goregaokar
f00897e2f4
Rollup merge of #103531 - chenyukang:yukang/fix-103474, r=estebank
...
Suggest calling the instance method of the same name when method not found
Fixes #103474
2022-11-11 12:12:30 -05:00
Oli Scherer
df2adc4760
Print all labels, even if they have no span. Fall back to main item's span.
2022-11-11 14:45:28 +00:00
Manish Goregaokar
819c9315c3
Rollup merge of #104186 - chenyukang:yukang/fix-104086-let-binding-issue, r=oli-obk
...
Tighten the 'introduce new binding' suggestion
Fixes #104086
2022-11-10 10:47:40 -05:00
Michael Goulet
e807cb3c41
Make span_suggestions take IntoIterator
2022-11-09 19:42:23 +00:00
Michael Goulet
fbce7decd8
DiagnosticBuilder -> Diagnostic
2022-11-09 19:42:23 +00:00
yukang
c69872bb6c
add 'is_assign_rhs' to avoid weird suggesting 'let'
2022-11-10 00:43:12 +08:00
yukang
5689f9c679
fix tests and code cleanup
2022-11-09 17:10:33 +08:00
yukang
952df48948
Fix #104086 , Tighten the 'introduce new binding' suggestion
2022-11-09 16:46:13 +08:00
Deadbeef
b1994ce806
Do not make typo suggestions when suggesting pattern matching
...
Fixes #103909 .
2022-11-05 15:33:25 +00:00
Dylan DPC
3143472863
Rollup merge of #103560 - zbyrn:issue-103358-fix, r=cjgillot
...
Point only to the identifiers in the typo suggestions of shadowed names instead of the entire struct
Fixes #103358 .
As discussed in the issue, the `Span` of the candidate `Ident` for a typo replacement is stored alongside its `Symbol` in `TypoSuggestion`. Then, the span of the identifier is what the "you might have meant to refer to" note is pointed at, rather than the entire struct definition.
Comments in #103111 and the issue both suggest that it is desirable to:
1. include names defined in the same crate as the typo,
2. ignore names defined elsewhere such as in `std`, _and_
3. include names introduced indirectly via `use`.
Since a name from another crate but introduced via `use` has non-local `def_id`, to achieve this, a suggestion is displayed if either the `def_id` of the suggested name is local, or the `span` of the suggested name is in the same file as the typo itself.
Some UI tests have also been modified to reflect this change.
r? `@cjgillot`
2022-10-30 11:50:26 +05:30
Takayuki Maeda
a3a3f4d840
avoid unnecessary &str to String conversions
2022-10-29 17:14:44 +09:00
Byron Zhong
775328c290
Modify check to output 'you might have meant' for indirect reference
2022-10-25 22:08:41 -05:00
Byron Zhong
0b936d2da7
Add check to only output 'you might have meant' when the candidate name is in the same crate
2022-10-25 22:08:41 -05:00
Byron Zhong
be61f0237b
Add Span in TypoSuggestion and TypoCandidate
2022-10-25 22:08:41 -05:00
yukang
32a2f0dddb
suggest calling the method of the same name when method not found
2022-10-26 00:45:29 +08:00
Yuki Okushi
e47d222a94
Rollup merge of #103350 - clubby789:refer-to-assoc-method, r=wesleywiser
...
Change terminology for assoc method suggestions when they are not called
Fixes #103325
```@rustbot``` label +A-diagnostics
2022-10-25 08:01:27 +09:00
Dylan DPC
518d5ebc81
Rollup merge of #101908 - chenyukang:fix-101880, r=estebank
...
Suggest let for assignment, and some code refactor
Fixes #101880
2022-10-23 15:20:16 +05:30
clubby789
717bf35366
Different suggestions for when associated functions are referred to
2022-10-21 14:38:44 +01:00
Dylan DPC
41a1cfdbaf
Rollup merge of #103111 - cjgillot:shadow-label, r=estebank
...
Account for hygiene in typo suggestions, and use them to point to shadowed names
Fixes https://github.com/rust-lang/rust/issues/97459
r? `@estebank`
2022-10-21 17:29:59 +05:30
yukang
eb68e27e4c
fix rust-lang#101880: suggest let for assignment, and some code refactor
2022-10-20 22:54:02 +08:00
yukang
0af255a5aa
Fix the bug of next_point in span
2022-10-18 02:59:38 +08:00
Camille GILLOT
4bbb163b5d
Point to shadowed name when it exists.
2022-10-16 09:03:21 +00:00
Camille GILLOT
6d947e6d48
Account for hygiene when suggesting typos.
2022-10-16 08:56:39 +00:00
Matthias Krüger
cb67283392
Rollup merge of #102889 - petrochenkov:partres, r=cjgillot
...
rustc_hir: Less error-prone methods for accessing `PartialRes` resolution
2022-10-11 18:59:50 +02:00
Vadim Petrochenkov
1a8f177772
rustc_hir: Less error-prone methods for accessing PartialRes resolution
2022-10-11 09:04:52 +04:00
Camille GILLOT
a474ec50b7
Move lifetime resolution module to rustc_hir_analysis.
2022-10-10 17:40:52 +00:00
Dylan DPC
81b9d0b1d1
Rollup merge of #102868 - compiler-errors:rename-assoc-tyalias-to-ty, r=TaKO8Ki
...
Rename `AssocItemKind::TyAlias` to `AssocItemKind::Type`
Thanks `@camsteffen` for catching this in ast too, cc https://github.com/rust-lang/rust/pull/102829#issuecomment-1272649247
2022-10-10 13:43:43 +05:30
Michael Goulet
d3bd6beb97
Rename AssocItemKind::TyAlias to AssocItemKind::Type
2022-10-10 02:31:37 +00:00
Yuki Okushi
0db05f16c8
Rollup merge of #102323 - Stoozy:master, r=cjgillot
...
Trying to suggest additional lifetime parameter
``@cjgillot`` This is what I have so far for #100615
2022-10-10 10:23:04 +09:00
Michael Goulet
70f3c79c50
ImplItemKind::TyAlias => ImplItemKind::Type
2022-10-09 07:09:57 +00:00
stoozy
2657f9d5da
Removed unnecessary for loop
2022-10-01 13:55:26 -04:00
bors
1bb8d276c9
Auto merge of #101887 - nnethercote:shrink-Res, r=spastorino
...
Shrink `hir::def::Res`
r? `@spastorino`
2022-09-29 22:45:24 +00:00
stoozy
ef930a2200
Emitting error regardless of new param suggestion
2022-09-29 04:06:02 -04:00
Yuki Okushi
852a152206
Rollup merge of #102085 - chenyukang:code-refactor, r=cjgillot
...
Code refactoring smart_resolve_report_errors
`smart_resolve_report_errors` 4ecfdfac51/compiler/rustc_resolve/src/late/diagnostics.rs (L143)
is almost 600 lines of code, we should do some code refactoring.
2022-09-29 11:42:03 +09:00
Nicholas Nethercote
f07d4efc45
Shrink hir::def::Res.
...
`Res::SelfTy` currently has two `Option`s. When the second one is `Some`
the first one is never consulted. So we can split it into two variants,
`Res::SelfTyParam` and `Res::SelfTyAlias`, reducing the size of `Res`
from 24 bytes to 12. This then shrinks `hir::Path` and
`hir::PathSegment`, which are the HIR types that take up the most space.
2022-09-29 08:44:52 +10:00
stoozy
e7cb6ad8ce
Proper span for new generic param suggestion
2022-09-28 00:33:52 -04:00
Camille GILLOT
337a73da6e
Do not overwrite binders for another HirId.
2022-09-27 18:58:37 +02:00
stoozy
24c8e27a1d
Properly formatting the multipart suggestion
2022-09-27 11:06:51 -04:00
stoozy
365457bd25
Using multipart suggestion
2022-09-26 22:17:47 -04:00
stoozy
887515af33
Trying to suggest additional lifetime parameter
2022-09-26 13:10:24 -04:00
yukang
db0877f653
trivial fix on fallback
2022-09-26 00:53:55 +08:00
yukang
fdda7e0a33
more code refactor on smart_resolve_report_errors
2022-09-26 00:40:57 +08:00
Takayuki Maeda
8fe936099a
separate definitions and HIR owners
...
fix a ui test
use `into`
fix clippy ui test
fix a run-make-fulldeps test
implement `IntoQueryParam<DefId>` for `OwnerId`
use `OwnerId` for more queries
change the type of `ParentOwnerIterator::Item` to `(OwnerId, OwnerNode)`
2022-09-24 23:21:19 +09:00
Frank Steffahn
696472a586
Fix a typo in error message
2022-09-22 01:28:45 +02:00
yukang
7adfb44b95
add trivial comments
2022-09-21 23:21:41 +08:00
yukang
f9ef7e2835
code refactoring smart_resolve_report_errors
2022-09-21 12:17:59 +08:00
bors
a0d1df4a5d
Auto merge of #101709 - nnethercote:simplify-visitors-more, r=cjgillot
...
Simplify visitors more
A successor to #100392 .
r? `@cjgillot`
2022-09-14 05:21:14 +00:00
Nicholas Nethercote
7e3fd33a66
Remove unused argument from visit_poly_trait_ref.
2022-09-12 13:51:10 +10:00
Nicholas Nethercote
6568ef338e
Remove path_span argument to the visit_path_segment methods.
...
The `visit_path_segment` method of both the AST and HIR visitors has a
`path_span` argument that isn't necessary. This commit removes it.
There are two very small and inconsequential functional changes.
- One call to `NodeCollector::insert` now is passed a path segment
identifier span instead of a full path span. This span is only used in
a panic message printed in the case of an internal compiler bug.
- Likewise, one call to `LifetimeCollectVisitor::record_elided_anchor`
now uses a path segment identifier span instead of a full path span.
This span is used to make some `'_` lifetimes.
2022-09-12 13:24:25 +10:00