Esteban Küber
41e66d9025
review comments: Tweak output
...
* Account for `struct S(pub(super)Ty);` in suggestion
* Suggest changing field visibility in E0603 too
2023-01-11 21:36:02 +00:00
Esteban Küber
eb835093a3
review comment
2023-01-11 21:35:42 +00:00
Esteban Küber
ad13d9fbbe
Suggest making private tuple struct field public
...
Fix #52144 .
2023-01-11 21:35:42 +00:00
Albert Larsan
40ba0e84d5
Change src/test
to tests
in source files, fix tidy and tests
2023-01-11 09:32:13 +00:00
Yuki Okushi
684a3717cb
Rollup merge of #106175 - compiler-errors:bad-import-sugg, r=oli-obk
...
Fix bad import suggestion with nested `use` tree
Fixes #105566
Fixes #105373
Ideally, we'd find some way to turn these into structured suggestions -- perhaps on a separate line as a different `use` statement, but I have no idea how to access the span for the whole `use` from this point in the import resolution code.
2023-01-10 08:05:34 +09:00
Michael Goulet
1d66a675bb
review comment
2023-01-09 18:07:34 +00:00
Matthias Krüger
0c8d11b97c
Rollup merge of #105859 - compiler-errors:hr-lifetime-add, r=davidtwco
...
Point out span where we could introduce higher-ranked lifetime
Somewhat addresses #105422 , but not really. We don't have that much useful information here since we're still in resolution :^(
Maybe this suggestion isn't worth it. If the reviewer has an idea how we can get a more succinct binder information for a structured suggestion, it would be appreciated.
2023-01-07 20:43:21 +01:00
Michael Goulet
7690fe3bc6
Simplify some iterator combinators
2023-01-04 00:48:07 +00:00
Matthias Krüger
c610aeb592
Rollup merge of #106221 - Nilstrieb:rptr-more-like-ref-actually, r=compiler-errors
...
Rename `Rptr` to `Ref` in AST and HIR
The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already as well.
2022-12-29 13:16:04 +01:00
Nilstrieb
9067e4417e
Rename Rptr
to Ref
in AST and HIR
...
The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already
as well.
2022-12-28 18:52:36 +01:00
Esteban Küber
7e84273b7f
Make resolve suggestion more generic
2022-12-27 12:16:25 -08:00
Esteban Küber
0c0685bb68
review comments: make suggestion more accurate
2022-12-27 09:25:00 -08:00
Michael Goulet
050bc95ce2
Fix some totally useless suggestions
2022-12-27 07:17:22 +00:00
Michael Goulet
d2404d6dca
Dont clobber as ..
rename in import suggestion
2022-12-27 07:05:45 +00:00
Michael Goulet
9e2536b938
Note alternative import candidates in nested use tree
2022-12-27 05:09:43 +00:00
Michael Goulet
564435f20a
Suppress suggestions for nested use tree
2022-12-27 05:09:43 +00:00
Esteban Küber
c9381fc334
Detect likely .
-> ..
typo in method calls
...
Fix #65015 .
2022-12-26 18:27:40 -08:00
Matthias Krüger
2cace6aa5d
Rollup merge of #105769 - lyming2007:issue-105177-fix, r=eholk
...
add function to tell the identical errors for ambiguity_errors
if 2 errors of the kind and ident and span of the ident, b1, b2 and misc1 misc2 are the same we call these 2 ambiguity errors identical
prevent identical ambiguity error from pushing into vector of ambiguity_errors this will fix #105177
2022-12-22 11:03:50 +01:00
Eric Holk
f20f86ec4e
Change comment to doc comment
2022-12-21 17:28:42 -08:00
Yiming Lei
bd12d151ee
add function to tell if the current ambiguity error matches a previous one in ambiguity_errors
...
if 2 errors of the kind and ident and span of the ident, b1, b2 and misc1 misc2 are the same
then these 2 ambiguity errors matched
prevent identical ambiguity error from pushing into vector of ambiguity_errors
this will fix #105177
2022-12-19 08:38:05 -08:00
Matthias Krüger
ebe3563764
Rollup merge of #105873 - matthiaskrgr:clippy_fmt, r=Nilstrieb
...
use &str / String literals instead of format!()
2022-12-18 23:03:07 +01:00
Matthias Krüger
221e71e7a1
Rollup merge of #105869 - matthiaskrgr:clone_on_copy, r=compiler-errors
...
don't clone Copy types
2022-12-18 23:03:07 +01:00
Matthias Krüger
a108d55ce6
don't restuct references just to reborrow
2022-12-18 17:04:32 +01:00
Matthias Krüger
3af7df91fc
use &str / String literals instead of format!()
2022-12-18 16:17:46 +01:00
Matthias Krüger
fec9e9ecf1
don't clone Copy types
2022-12-18 14:25:55 +01:00
Michael Goulet
5cccb36cfb
higher-ranked lifetime message
2022-12-18 03:04:26 +00:00
Matthias Krüger
6dbaf86672
Rollup merge of #104864 - chenyukang:yukang/fix-104700-binding, r=estebank
...
Account for item-local in inner scope for E0425
Fixes #104700
2022-12-13 01:17:08 +01:00
Oli Scherer
75ff5c7dd3
Fold Definitions
into the untracked data
2022-12-09 14:59:39 +00:00
Oli Scherer
1c1d3570ee
Move the untracked cstore and source_span into a struct
2022-12-09 14:53:24 +00:00
Oli Scherer
2cd36f2c89
Generate crate loaders on the fly
2022-12-09 14:53:23 +00:00
Oli Scherer
4b08fbaea8
ResolverTree does not require access to the crate loader, only the store
2022-12-09 14:50:09 +00:00
Oli Scherer
d30848b30a
Use Symbol
for the crate name instead of String
/str
2022-12-07 20:30:02 +00:00
Yuki Okushi
fa7d3ec630
Rollup merge of #105289 - Rageking8:fix-dupe-word-typos, r=cjgillot
...
Fix dupe word typos
2022-12-06 12:48:52 +09:00
Matthias Krüger
4ebbb20dad
Rollup merge of #105230 - cjgillot:issue-104312, r=petrochenkov
...
Skip recording resolution for duplicated generic params.
Turns out the fix was simpler than I thought.
Fixes https://github.com/rust-lang/rust/issues/104312
2022-12-05 20:43:44 +01:00
Rageking8
58110572fb
fix dupe word typos
2022-12-05 16:42:36 +08:00
Matthias Krüger
7dbd1603b8
Rollup merge of #101975 - chenyukang:fix-101749, r=compiler-errors
...
Suggest to use . instead of :: when accessing a method of an object
Fixes #101749
Fixes #101542
2022-12-04 16:25:32 +01:00
Camille GILLOT
b1514108e2
Skip recording resolution for duplicated generic params.
2022-12-03 22:40:30 +00:00
yukang
fb004e9a95
fix #101749 , use . instead of :: when accessing a method of an object
2022-12-03 22:41:12 +08:00
yukang
795b2afd20
fix #105069 , Add AmbiguityError for inconsistent resolution for an import
2022-12-03 22:28:35 +08:00
Vadim Petrochenkov
b32a4edb20
rustc_ast_lowering: Stop lowering imports into multiple items
...
Lower them into a single item with multiple resolutions instead.
This also allows to remove additional `NodId`s and `DefId`s related to those additional items.
2022-12-01 18:51:20 +03:00
Rageking8
c95dceb63a
clean up pr 104954
2022-11-29 10:41:21 +08:00
Matthias Krüger
412f05c9e8
Rollup merge of #104954 - vincenzopalazzo:macros/prinf, r=estebank
...
make simple check of prinf function
Fixes https://github.com/rust-lang/rust/issues/92898
With this commit we start to make some simple
check when the name resolution fails, and
we generate some helper messages in case the
name is a C name like in the case of the `printf`
and suggest the correct rust method.
`@rustbot` r? `@pnkfelix`
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-11-28 17:25:48 +01:00
Nicholas Nethercote
a60e337c88
Rename NestedMetaItem::[Ll]iteral
as NestedMetaItem::[Ll]it
.
...
We already use a mix of `Literal` and `Lit`. The latter is better
because it is shorter without causing any ambiguity.
2022-11-28 15:18:53 +11:00
Matthias Krüger
86304f5149
Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot
...
Prefer doc comments over `//`-comments in compiler
Doc comments are generally nicer: they show up in the documentation, they are shown in IDEs when you hover other mentions of items, etc. Thus it makes sense to use them instead of `//`-comments.
2022-11-27 22:14:08 +01:00
bors
454784afba
Auto merge of #104048 - cjgillot:split-lifetime, r=compiler-errors
...
Separate lifetime ident from lifetime resolution in HIR
Drive-by: change how suggested generic args are computed.
Fixes https://github.com/rust-lang/rust/issues/103815
I recommend reviewing commit-by-commit.
2022-11-27 14:30:19 +00:00
Maybe Waffle
1d42936b18
Prefer doc comments over //
-comments in compiler
2022-11-27 11:19:04 +00:00
Vincenzo Palazzo
ee6f18ef59
make simple check of prinf function.
...
With this commit we start to make some simple
check when the name resolution fails, and
we generate some helper message in case the
name is a C name like in the case of the `printf`
and suggest the correct rust method.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-11-27 11:50:02 +01:00
bors
f8a2e491eb
Auto merge of #104730 - petrochenkov:modchild5, r=cjgillot
...
rustc_metadata: Switch module children decoding to an iterator
Previously https://github.com/rust-lang/rust/pull/103578 , https://github.com/rust-lang/rust/pull/103524 and previous PRs simplified it as much as possible.
A couple of cleanup commits is also added.
r? `@cjgillot`
2022-11-26 05:41:34 +00:00
yukang
68ea51602a
fix the crossing function issue
2022-11-25 15:25:04 +08:00
bors
41e0363055
Auto merge of #104602 - petrochenkov:effvisperf5, r=oli-obk
...
privacy: Fix more (potential) issues with effective visibilities
Continuation of https://github.com/rust-lang/rust/pull/103965 .
See individual commits for more detailed description of the changes.
The shortcuts removed in https://github.com/rust-lang/rust/pull/104602/commits/4eb63f618e601efee657d24cd4e8833fb03fac4c and https://github.com/rust-lang/rust/pull/104602/commits/c7c7d1672739e38c8d39ae861b284486aefd5b48 could actually be correct (or correct after some tweaks), but they used global reasoning like "we can skip this update because if the code compiles then some other update should do the same thing eventually".
I have some expertise in this area, but I still have doubt whether such global reasoning was correct or not, especially in presence of all possible exotic cases with imports.
After this PR all table changes should be "locally correct" after every update, even if it may be overcautious.
If similar optimizations are introduced again they will need detailed comments explaining why it's legal to do what they do and providing proofs.
Fixes https://github.com/rust-lang/rust/issues/104249 .
Fixes https://github.com/rust-lang/rust/issues/104539 .
2022-11-25 06:14:42 +00:00