Michael Goulet
00d54c879b
Label non_exhaustive on privacy errors
2023-04-06 16:49:43 +00:00
Matthias Krüger
ac229c2819
fix clippy::iter_kv_map
2023-04-01 23:44:16 +02:00
Vadim Petrochenkov
b3ee735993
resolve: Remove struct_field_names_untracked
2023-03-13 17:31:55 +04:00
Vadim Petrochenkov
2a716f3563
resolve: Centralize retrieval of items span and item name
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
901f1c9c62
resolve: Partially remove item_attrs_untracked
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Michael Howell
f058bb0fcf
diagnostics: avoid querying associated_item
in the resolver
...
Fixes #108529
2023-02-27 09:22:51 -07:00
bors
0978711950
Auto merge of #108324 - notriddle:notriddle/assoc-fn-method, r=compiler-errors,davidtwco,estebank,oli-obk
...
diagnostics: if AssocFn has self argument, describe as method
Discussed in https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/.22associated.20function.22.20vs.20.22method.22/near/329265515
This commit also changes the tooltips on rustdoc intra-doc links targeting methods.
For anyone not sure why this is being done, see the Reference definitions of these terms in <https://doc.rust-lang.org/1.67.1/reference/items/associated-items.html#methods >
> Associated functions whose first parameter is named `self` are called methods and may be invoked using the [method call operator](https://doc.rust-lang.org/1.67.1/reference/expressions/method-call-expr.html ), for example, `x.foo()`, as well as the usual function call notation.
In particular, while this means it's technically correct for rustc to refer to a method as an associated function (and there are a few cases where it'll still do so), rustc *must never* use the term "method" to refer to an associated function that does not have a `self` parameter.
2023-02-23 00:19:12 +00:00
Vadim Petrochenkov
d275114bda
resolve: Remove ImportResolver
...
It's a trivial wrapper over `Resolver` that doesn't bring any benefits
2023-02-22 21:29:38 +04:00
Michael Howell
3d056c3125
diagnostics: if AssocFn has self argument, describe as method
...
Discussed in
https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/.22associated.20function.22.20vs.20.22method.22/near/329265515
This commit also changes the tooltips on rustdoc intra-doc links
targeting methods.
2023-02-22 08:40:33 -07:00
Oli Scherer
a04e78730e
Use source_span
query instead of passing the untracked vec around
2023-02-21 08:29:55 +00:00
bors
2deff71719
Auto merge of #105462 - oli-obk:feeding_full, r=cjgillot,petrochenkov
...
give the resolver access to TyCtxt
The resolver is now created after TyCtxt is created. Then macro expansion and name resolution are run and the results fed into queries just like before this PR.
Since the resolver had (before this PR) mutable access to the `CStore` and the source span table, these two datastructures are now behind a `RwLock`. To ensure that these are not mutated anymore after the resolver is done, a read lock to them is leaked right after the resolver finishes.
### PRs split out of this one and leading up to it:
* https://github.com/rust-lang/rust/pull/105423
* https://github.com/rust-lang/rust/pull/105357
* https://github.com/rust-lang/rust/pull/105603
* https://github.com/rust-lang/rust/pull/106776
* https://github.com/rust-lang/rust/pull/106810
* https://github.com/rust-lang/rust/pull/106812
* https://github.com/rust-lang/rust/pull/108032
2023-02-21 01:19:25 +00:00
Oli Scherer
4953d70e2f
Stuff a TyCtxt into the Resolver
2023-02-20 15:28:59 +00:00
Oli Scherer
6924e3c374
Make untracked.source_span lockable so that resolution can still write to it when using TyCtxt
2023-02-20 15:28:58 +00:00
Oli Scherer
e8e227aec8
Prepare crate loader for LockGuard
2023-02-20 10:49:42 +00:00
Oli Scherer
d191de63f0
Prepare for adding a TyCtxt
to Resolver
2023-02-20 10:38:48 +00:00
Jacob Pratt
378c4ab9ab
Make public API, docs algorithm-agnostic
2023-02-19 04:11:10 +00:00
Oli Scherer
43a5cc383d
Separate the lifetime of the session and the arena in the resolver
2023-02-14 10:01:25 +00:00
Maybe Waffle
9fe8ae792e
Rename rust_2015
=> is_rust_2015
2023-02-02 08:17:13 +00:00
Guillaume Gomez
fe44f3bdd0
Rollup merge of #107508 - WaffleLapkin:uneq'15, r=oli-obk
...
`Edition` micro refactor
r? ``@oli-obk``
2023-01-31 23:38:53 +01:00
Maybe Waffle
03158f40d2
Don't do .edition().rust_*()
2023-01-31 10:09:23 +00:00
Maybe Waffle
fd5774a4d7
Use Edition
methods a bit more
2023-01-31 10:09:22 +00:00
Maybe Waffle
fd649a3cc5
Replace enum ==
s with match
es where it makes sense
2023-01-30 12:26:26 +00:00
bors
85da15c016
Auto merge of #107133 - pnkfelix:revert-pr-84022-for-issue-106337, r=Mark-Simulacrum
...
Revert "Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error"
This reverts commit 7d82cadd97
aka PR #84022
I am doing this to buy us some time with respect to issue #106337 w.r.t. the 1.67 release.
2023-01-22 03:58:52 +00:00
Felix S. Klock II
5fa1347331
Revert "Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error"
...
This reverts commit 7d82cadd97
.
I am doing this to buy us some time with respect to issue #106337 w.r.t. the
1.67 release.
2023-01-20 17:13:55 -05:00
Michael Howell
c07a722847
diagnostics: remvoe unnecessary use of source_map.start_point
2023-01-20 14:53:34 -07:00
Michael Howell
dca160a06a
diagnostics: use module_path
to check crate import instead of strings
2023-01-20 14:53:34 -07:00
Michael Howell
e237690a28
diagnostics: add };
only if {
was added too
2023-01-20 14:53:33 -07:00
Michael Howell
e9d8d238ef
diagnostics: suggest changing s@self::{macro}@::macro
for exported
...
Fixes #99695
2023-01-20 14:52:24 -07:00
Michael Goulet
21725774a2
note -> help
2023-01-17 03:09:49 +00:00
Michael Goulet
716ea5f19c
Fix use suggestion span
2023-01-17 03:06:38 +00:00
Michael Goulet
950b47fb96
Render missing generics suggestion verbosely
2023-01-12 22:04:30 +00:00
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
Michael Goulet
1d66a675bb
review comment
2023-01-09 18:07:34 +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
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
yukang
fb004e9a95
fix #101749 , use . instead of :: when accessing a method of an object
2022-12-03 22:41:12 +08:00
bors
b833ad56f4
Auto merge of #104573 - matthiaskrgr:rollup-k36ybtp, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #101162 (Migrate rustc_resolve to use SessionDiagnostic, part # 1)
- #103386 (Don't allow `CoerceUnsized` into `dyn*` (except for trait upcasting))
- #103405 (Detect incorrect chaining of if and if let conditions and recover)
- #103594 (Fix non-associativity of `Instant` math on `aarch64-apple-darwin` targets)
- #104006 (Add variant_name function to `LangItem`)
- #104494 (Migrate GUI test to use functions)
- #104516 (rustdoc: clean up sidebar width CSS)
- #104550 (fix a typo)
Failed merges:
- #104554 (Use `ErrorGuaranteed::unchecked_claim_error_was_emitted` less)
r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-18 20:26:58 +00:00
Nicholas Nethercote
67d5cc0462
Use ThinVec
in ast::Path
.
2022-11-17 13:56:38 +11:00
Rajput, Rajat
269ce369fe
migrating rustc_resolve to SessionDiagnostic. work in progress. start
...
implement binding_shadows
migrate till self-in-generic-param-default
use braces in fluent message as suggested by @compiler-errors.
to fix lock file issue reported by CI
migrate 'unreachable label' error
run formatter
name the variables correctly in fluent file
SessionDiagnostic -> Diagnostic
test "pattern/pat-tuple-field-count-cross.rs" passed
test "resolve/bad-env-capture2.rs" passed
test "enum/enum-in-scope.rs" and other depended on "resolve_binding_shadows_something_unacceptable" should be passed now.
fix crash errors while running test-suite. there might be more.
then_some(..) suits better here.
all tests passed
convert TraitImpl and InvalidAsm. TraitImpl is buggy yet. will fix after receiving help from Zulip
migrate "Ralative-2018"
migrate "ancestor only"
migrate "expected found"
migrate "Indeterminate"
migrate "module only"
revert to the older implementation for now. since this is failing at the moment.
follow the convension for fluent variable
order the diag attribute as suggested in review comment
fix merge error. migrate trait-impl-duplicate
make the changes compatible with "Flatten diagnostic slug modules #103345 "
fix merge
remove commented code
merge issues
fix review comments
fix tests
2022-11-13 19:39:26 +05:30
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
Dylan DPC
68afa32985
Rollup merge of #103760 - petrochenkov:macimp, r=cjgillot
...
resolve: Turn the binding from `#[macro_export]` into a proper `Import`
Continuation of https://github.com/rust-lang/rust/pull/91795 .
```rust
#[macro_export]
macro_rules! m { /*...*/ }
```
is desugared to something like
```rust
macro_rules! m { /*...*/ } // Non-modularized macro_rules item
pub use m; // It's modularized reexport
```
This PR adjusts the internal representation to better match this model.
2022-11-01 22:01:36 +05:30
Dylan DPC
9f603feaee
Rollup merge of #84022 - Aaron1011:remove-derive-res-fallback, r=petrochenkov
...
Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error
r? `@ghost`
2022-11-01 22:01:35 +05:30
Vadim Petrochenkov
84317518ff
resolve: Turn the binding from #[macro_export]
into a proper Import
2022-10-31 21:25:00 +04:00
Vadim Petrochenkov
637bfe68a1
resolve: Not all imports have their own NodeId
2022-10-31 20:25:27 +04:00
Byron Zhong
be61f0237b
Add Span in TypoSuggestion and TypoCandidate
2022-10-25 22:08:41 -05:00
Aaron Hill
7d82cadd97
Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error
2022-10-24 13:40:07 -05:00