Matthias Krüger
c48c77e160
Rollup merge of #120339 - petrochenkov:nameprivisit, r=michaelwoerister
...
privacy: Refactor top-level visiting in `NamePrivacyVisitor`
Full hierarchical visiting (`nested_filter::All`) is not necessary, visiting all item-likes in isolation is enough.
Tracking current item is not necessary, passing any `HirId` with the same parent module to `adjust_ident_and_get_scope` is enough.
Follow up to https://github.com/rust-lang/rust/pull/120284 .
2024-01-26 14:43:31 +01:00
clubby789
fd29f74ff8
Remove unused features
2024-01-25 14:01:33 +00:00
Vadim Petrochenkov
15dbdabdb5
privacy: Refactor top-level visiting in NamePrivacyVisitor
2024-01-25 16:55:29 +03:00
Vadim Petrochenkov
ba75970473
privacy: Refactor top-level visiting in TypePrivacyVisitor
2024-01-24 00:42:01 +03:00
Nicholas Nethercote
e164cf30f8
Rename TyCtxt::emit_spanned_lint
as TyCtxt::emit_node_span_lint
.
2024-01-23 08:09:05 +11:00
Nicholas Nethercote
99472c7049
Remove Session
methods that duplicate DiagCtxt
methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Vadim Petrochenkov
5e5d82e803
resolve: Eagerly feed closure visibilities
...
Also factor out all tcx-dependent operations performed for every created definition into `TyCtxt::create_def`
2023-12-20 13:42:58 +03:00
Vadim Petrochenkov
be321aa473
resolve: Replace visibility table in resolver outputs with query feeding
...
Also feed missing visibilities for import stems and trait impl items, which were previously evaluated lazily.
2023-12-18 02:26:55 +03:00
zetanumbers
24f009c5e5
Move some methods from tcx.hir()
to tcx
...
Renamings:
- find -> opt_hir_node
- get -> hir_node
- find_by_def_id -> opt_hir_node_by_def_id
- get_by_def_id -> hir_node_by_def_id
Fix rebase changes using removed methods
Use `tcx.hir_node_by_def_id()` whenever possible in compiler
Fix clippy errors
Fix compiler
Apply suggestions from code review
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
Add FIXME for `tcx.hir()` returned type about its removal
Simplify with with `tcx.hir_node_by_def_id`
2023-12-12 06:40:29 -08:00
David Wood
5d97724002
privacy: visit trait def id of projections
...
A refactoring in #117076 changed the `DefIdVisitorSkeleton` to avoid
calling `visit_projection_ty` for `ty::Projection` aliases, and instead
just iterate over the args - this makes sense, as `visit_projection_ty`
will indirectly visit all of the same args, but in doing so, will also
create a `TraitRef` containing the trait's `DefId`, which also gets
visited. The trait's `DefId` isn't visited when we only visit the
arguments without separating them into `TraitRef` and own args first.
Signed-off-by: David Wood <david@davidtw.co>
2023-12-08 14:26:03 +00:00
Vadim Petrochenkov
55d08f50ea
privacy: Simplify update_macro_reachable
...
Address a FIXME in code.
2023-12-06 16:44:14 +03:00
bors
2da59b8676
Auto merge of #118470 - nnethercote:cleanup-error-handlers, r=compiler-errors
...
Cleanup error handlers
Mostly by making function naming more consistent. More to do after this, but this is enough for one PR.
r? compiler-errors
2023-12-02 02:48:34 +00:00
Nicholas Nethercote
5d1d384443
Rename HandlerInner::delay_span_bug
as HandlerInner::span_delayed_bug
.
...
Because the corresponding `Level` is `DelayedBug` and `span_delayed_bug`
follows the pattern used everywhere else: `span_err`, `span_warning`,
etc.
2023-12-02 09:01:19 +11:00
bohan
d0941f92d7
vis note for no pub reexports glob import
2023-12-01 12:10:07 +08:00
Guillaume Gomez
c6d20d70b4
Rollup merge of #118311 - bvanjoi:merge_coroutinue_into_closure, r=petrochenkov
...
merge `DefKind::Coroutine` into `Defkind::Closure`
Related to #118188
We no longer need to be concerned about the precise type whether it's `DefKind::Closure` or `DefKind::Coroutine`.
Furthermore, thanks for the great work done by `@petrochenkov` on investigating https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Why.20does.20it.20hang.20when.20querying.20.EF.BB.BF.60opt_def_kind.60.3F
r? `@petrochenkov`
2023-11-26 15:44:54 +01:00
bohan
f23befe6c1
merge DefKind::Coroutine
into DefKind::Closure
2023-11-26 21:05:08 +08:00
Vadim Petrochenkov
c697927f44
rustc: hir().local_def_id_to_hir_id()
-> tcx.local_def_id_to_hir_id()
cleanup
2023-11-26 12:41:21 +03:00
bors
5c97719393
Auto merge of #118250 - petrochenkov:optdefkind, r=compiler-errors
...
rustc: Make `def_kind` mandatory for all `DefId`s
Prerequisite for https://github.com/rust-lang/rust/pull/118188 .
2023-11-26 04:44:20 +00:00
Nicholas Nethercote
57cd5e6551
Use rustc_fluent_macro::fluent_messages!
directly.
...
Currently we always do this:
```
use rustc_fluent_macro::fluent_messages;
...
fluent_messages! { "./example.ftl" }
```
But there is no need, we can just do this everywhere:
```
rustc_fluent_macro::fluent_messages! { "./example.ftl" }
```
which is shorter.
2023-11-26 08:38:40 +11:00
Nicholas Nethercote
a733082be9
Avoid need for {D,Subd}iagnosticMessage
imports.
...
The `fluent_messages!` macro produces uses of
`crate::{D,Subd}iagnosticMessage`, which means that every crate using
the macro must have this import:
```
use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
```
This commit changes the macro to instead use
`rustc_errors::{D,Subd}iagnosticMessage`, which avoids the need for the
imports.
2023-11-26 08:38:00 +11:00
Vadim Petrochenkov
2c23386344
rustc: Make def_kind
mandatory for all DefId
s
2023-11-25 14:49:43 +03:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow
in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
Mark Rousskov
db3e2bacb6
Bump cfg(bootstrap)s
2023-11-15 19:41:28 -05:00
cui fliter
a44a4edc0e
Fix some typos
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-11-14 23:06:50 +08:00
Nicholas Nethercote
8ff624a9f2
Clean up rustc_*/Cargo.toml
.
...
- Sort dependencies and features sections.
- Add `tidy` markers to the sorted sections so they stay sorted.
- Remove empty `[lib`] sections.
- Remove "See more keys..." comments.
Excluded files:
- rustc_codegen_{cranelift,gcc}, because they're external.
- rustc_lexer, because it has external use.
- stable_mir, because it has external use.
2023-10-30 08:46:02 +11:00
Oli Scherer
5c9a74d88b
Merge associated types with the other alias types
2023-10-23 10:10:22 +00:00
Oli Scherer
d5c0f4d139
Sync the logic for inherent and weak type aliases
2023-10-23 09:53:04 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Michael Goulet
b2d2184ede
Format all the let chains in compiler
2023-10-13 08:59:36 +00:00
Michael Howell
c6e6ecb1af
rustdoc: remove rust logo from non-Rust crates
2023-10-08 20:17:53 -07:00
Michael Goulet
d6ce9ce115
Don't store lazyness in DefKind
2023-09-26 02:53:59 +00:00
Camille GILLOT
44ac8dcc71
Remove GeneratorWitness and rename GeneratorWitnessMIR.
2023-09-23 13:47:30 +00:00
Matthias Krüger
e7a347baf8
Rollup merge of #115727 - fee1-dead-contrib:effect-fallback, r=oli-obk
...
Implement fallback for effect param
r? `@oli-obk` or `@lcnr`
tracking issue for this ongoing work: https://github.com/rust-lang/rust/issues/110395
2023-09-11 17:03:31 +02:00
Deadbeef
9654d5ceaf
add is_host_effect
to GenericParamDefKind::Const
and address review
2023-09-11 13:18:36 +00:00
Michael Goulet
14e59bb317
Lint node for PRIVATE_BOUNDS is the item which has the bounds
2023-09-07 06:48:24 +00:00
bors
1accf068d8
Auto merge of #113126 - Bryanskiy:delete_old, r=petrochenkov
...
Replace old private-in-public diagnostic with type privacy lints
Next part of RFC https://github.com/rust-lang/rust/issues/48054 .
r? `@petrochenkov`
2023-09-01 12:40:01 +00:00
Nilstrieb
c75fc573aa
Use {Local}ModDefId
in many queries
2023-08-14 07:22:48 +00:00
Nilstrieb
40de40e094
Add typed {Local}DefId
for modules
...
This allows for better type safety in the compiler and also improves the
documentation for many things, making it clear that they expect modules.
2023-08-13 05:54:50 +00:00
León Orell Valerian Liehr
5468336d6b
Store the laziness of type aliases in the DefKind
2023-08-07 15:54:31 +02:00
Deadbeef
4fec845c3f
Remove constness from TraitPredicate
2023-08-02 15:38:00 +00:00
Bryanskiy
e26614e6a7
Replace old private-in-public diagnostic with type privacy lints
2023-08-02 13:40:28 +03:00
Bryanskiy
8203d1ddf6
Weaken unnameable_types lint
2023-07-30 14:02:21 +03:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Santiago Pastorino
20429af7a3
Replace RPITIT current impl with new strategy that lowers as a GAT
2023-07-08 18:21:34 -03:00
Michael Goulet
0c73b41cd6
remove TypeWellFormedFromEnv
2023-07-03 21:40:04 +00:00
Bryanskiy
f9a4db7312
Fix associated items effective visibility calculation for type privacy lints
2023-06-30 15:00:24 +03:00
Bryanskiy
35c6a1d0f3
Fix type privacy lints error message
2023-06-29 16:24:07 +03:00
Matthias Krüger
42a495da7e
Rollup merge of #112670 - petrochenkov:typriv, r=eholk
...
privacy: Type privacy lints fixes and cleanups
See individual commits.
Follow up to https://github.com/rust-lang/rust/pull/111801 .
2023-06-29 05:48:39 +02:00
Michael Goulet
374173cd99
TypeWellFormedInEnv
2023-06-26 23:12:04 +00:00
Michael Goulet
fbdef58414
Migrate predicates_of and caller_bounds to Clause
2023-06-26 23:12:03 +00:00