about summary refs log tree commit diff
path: root/compiler/rustc_privacy
AgeCommit message (Collapse)AuthorLines
2023-10-30Clean up `rustc_*/Cargo.toml`.Nicholas Nethercote-2/+4
- 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-23Merge associated types with the other alias typesOli Scherer-18/+7
2023-10-23Sync the logic for inherent and weak type aliasesOli Scherer-5/+6
2023-10-20s/Generator/Coroutine/Oli Scherer-3/+3
2023-10-13Format all the let chains in compilerMichael Goulet-2/+4
2023-10-08rustdoc: remove rust logo from non-Rust cratesMichael Howell-0/+3
2023-09-26Don't store lazyness in DefKindMichael Goulet-3/+3
2023-09-23Remove GeneratorWitness and rename GeneratorWitnessMIR.Camille GILLOT-2/+1
2023-09-11Rollup merge of #115727 - fee1-dead-contrib:effect-fallback, r=oli-obkMatthias Krüger-1/+1
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-11add `is_host_effect` to `GenericParamDefKind::Const` and address reviewDeadbeef-1/+1
2023-09-07Lint node for PRIVATE_BOUNDS is the item which has the boundsMichael Goulet-3/+4
2023-09-01Auto merge of #113126 - Bryanskiy:delete_old, r=petrochenkovbors-434/+15
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-08-14Use `{Local}ModDefId` in many queriesNilstrieb-21/+37
2023-08-13Add typed `{Local}DefId` for modulesNilstrieb-1/+1
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-07Store the laziness of type aliases in the DefKindLeón Orell Valerian Liehr-3/+3
2023-08-02Remove constness from `TraitPredicate`Deadbeef-1/+1
2023-08-02Replace old private-in-public diagnostic with type privacy lintsBryanskiy-434/+15
2023-07-30Weaken unnameable_types lintBryanskiy-5/+1
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-28/+30
2023-07-08Replace RPITIT current impl with new strategy that lowers as a GATSantiago Pastorino-14/+1
2023-07-03remove TypeWellFormedFromEnvMichael Goulet-1/+0
2023-06-30Fix associated items effective visibility calculation for type privacy lintsBryanskiy-4/+7
2023-06-29Fix type privacy lints error messageBryanskiy-3/+4
2023-06-29Rollup merge of #112670 - petrochenkov:typriv, r=eholkMatthias Krüger-96/+77
privacy: Type privacy lints fixes and cleanups See individual commits. Follow up to https://github.com/rust-lang/rust/pull/111801.
2023-06-26TypeWellFormedInEnvMichael Goulet-0/+1
2023-06-26Migrate predicates_of and caller_bounds to ClauseMichael Goulet-17/+4
2023-06-22Migrate item_bounds to ty::ClauseMichael Goulet-39/+29
2023-06-19Fully fledged Clause typeMichael Goulet-2/+2
2023-06-19s/Clause/ClauseKindMichael Goulet-9/+11
2023-06-18Rollup merge of #112734 - dswij:bounds-predicates-clause, r=compiler-errorsMatthias Krüger-3/+3
Make `Bound::predicates` use `Clause` Part of #107250 `Bound::predicates` returns an iterator over `Binder<_, Clause>` instead of `Predicate`. I tried updating `explicit_predicates_of` as well, but it seems that it needs a lot more change than I thought. Will do it in a separate PR instead.
2023-06-17Move ConstEvaluatable to ClauseMichael Goulet-1/+1
2023-06-17Move WF goal to clauseMichael Goulet-1/+1
2023-06-17`Bound::predicates` to return `Clause`dswij-3/+3
2023-06-16Add `AliasKind::Weak` for type aliases.Oli Scherer-0/+3
Only use it when the type alias contains an opaque type. Also does wf-checking on such type aliases.
2023-06-15privacy: Rename some variables for clarityVadim Petrochenkov-7/+7
2023-06-15privacy: Do not mark items reachable farther than their nominal visibilityVadim Petrochenkov-7/+11
This commit reverts a change made in #111425. It was believed that this change was necessary for implementing type privacy lints, but #111801 showed that it was not necessary. Quite opposite, the revert fixes some issues.
2023-06-15privacy: Remove `(Non)ShallowEffectiveVis`Vadim Petrochenkov-84/+61
Use a boolean constant parameter instead. Also turn some methods on `DefIdVisitor` into associated constants.
2023-06-12Private-in-public lints implementationBryanskiy-49/+257
2023-06-08increase the accuracy of effective visibilities calculationBryanskiy-25/+21
2023-06-01Rename `impl_defaultness` to `defaultness`Deadbeef-2/+2
2023-05-25Ensure Fluent messages are in alphabetical orderclubby789-9/+9
2023-05-22rustc_privacy: Reach underlying types of `impl Trait`s in a separate passVadim Petrochenkov-17/+29
outside of fixed point iteration.
2023-05-22rustc_privacy: Merge three matches on `ItemKind` into oneVadim Petrochenkov-112/+61
and remove some more `Option`s as a result
2023-05-22rustc_privacy: Remove some `Option`sVadim Petrochenkov-32/+25
in cases where they are guaranteed to be `Some`
2023-05-22rustc_privacy: Migrate `EmbargoVisitor` to `visit_all_item_likes_in_crate`Vadim Petrochenkov-18/+1
Previously it had some logic requiring tree visiting, but it was moved to resolve last year.
2023-05-15Move expansion of query macros in rustc_middle to rustc_middle::queryJohn Kåre Alsaker-1/+1
2023-05-11Populate effective visibilities in rustc_privacyBryanskiy-117/+157
2023-05-09Auto merge of #111371 - compiler-errors:revert-110907, r=petrochenkovbors-154/+117
Revert "Populate effective visibilities in `rustc_privacy`" This reverts commit cff85f22f5030fbe7266d272da74a9e76160523c, cc #110907. It needs to be fixed, but there are too many issues being reported that I wanted to put up a revert until a proper fix can be committed. Fixes a ton of issues where private but still reachable impls were missing during codegen: Fixes #111320 Fixes #111321 Fixes #111334 Fixes #111357 Fixes #111368 Fixes #111373 Fixes #111377 Fixes #111386 Fixes #111387 `@bors` p=1 r? `@petrochenkov`
2023-05-08Revert "Populate effective visibilities in `rustc_privacy`"Michael Goulet-154/+117
This reverts commit cff85f22f5030fbe7266d272da74a9e76160523c.
2023-05-08Rollup merge of #109410 - fmease:iat-alias-kind-inherent, r=compiler-errorsMichael Goulet-0/+33
Introduce `AliasKind::Inherent` for inherent associated types Allows us to check (possibly generic) inherent associated types for well-formedness. Type inference now also works properly. Follow-up to #105961. Supersedes #108430. Fixes #106722. Fixes #108957. Fixes #109768. Fixes #109789. Fixes #109790. ~Not to be merged before #108860 (`AliasKind::Weak`).~ CC `@jackh726` r? `@compiler-errors` `@rustbot` label T-types F-inherent_associated_types