summary refs log tree commit diff
path: root/compiler/rustc_hir_analysis/src/astconv
AgeCommit message (Collapse)AuthorLines
2023-09-27Auto merge of #116163 - compiler-errors:lazyness, r=oli-obkbors-12/+5
Don't store lazyness in `DefKind::TyAlias` 1. Don't store lazyness of a type alias in its `DefKind`, but instead via a query. 2. This allows us to treat type aliases as lazy if `#[feature(lazy_type_alias)]` *OR* if the alias contains a TAIT, rather than having checks for both in separate parts of the codebase. r? `@oli-obk` cc `@fmease`
2023-09-26subst -> instantiatelcnr-11/+12
2023-09-26Don't store lazyness in DefKindMichael Goulet-12/+5
2023-09-24Remove span from BrAnon.Camille GILLOT-2/+2
2023-09-20Auto merge of #115486 - compiler-errors:dont-capture-late-pls, r=cjgillotbors-3/+1
Correctly deny late-bound lifetimes from parent in anon consts and TAITs Reuse the `AnonConstBoundary` scope (introduced in #108553, renamed in this PR to `LateBoundary`) to deny late-bound vars of *all* kinds (ty/const/lifetime) in anon consts and TAITs. Side-note, but I would like to consolidate this with the error reporting for RPITs (E0657): https://github.com/rust-lang/rust/blob/c4f25777a08cd64b710e8a9a6159e67cbb35e6f5/compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs#L733-L754 but the semantics about what we're allowed to capture there are slightly different, so I'm leaving that untouched. Fixes #115474
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-08E0220: only suggests associated types if there's only one candidateLieselotte-25/+19
2023-09-08Improve "associated type not found" diagnosticsLieselotte-11/+42
2023-09-05Correctly deny late-bound lifetimes from parent in anon consts and TAITsMichael Goulet-3/+1
2023-09-01Don't manually walk through param indices when adding implicit Sized and ↵Michael Goulet-21/+52
ConstParamHasTy
2023-08-30Permit recursive weak type aliasesOli Scherer-7/+12
2023-08-22Do not emit invalid suggestion in E0191 when spans overlapEsteban Küber-1/+15
Fix #115019.
2023-08-11Don't add associated type bound for non-typesMichael Goulet-10/+19
2023-08-08Auto merge of #114545 - fee1-dead-contrib:lower-impl-effect, r=oli-obkbors-7/+5
correctly lower `impl const` to bind to host effect param r? `@oli-obk`
2023-08-07Store the laziness of type aliases in the DefKindLeón Orell Valerian Liehr-8/+10
2023-08-06lower impl const to bind to host effect paramDeadbeef-7/+5
2023-08-02Remove constness from `TraitPredicate`Deadbeef-11/+6
2023-08-01Fix a commentMichael Goulet-1/+1
2023-07-25inline format!() args from rustc_codegen_llvm to the end (4)Matthias Krüger-14/+14
r? @WaffleLapkin
2023-07-19Make it clearer that edition functions are >=, not ==Michael Goulet-1/+1
2023-07-14Rollup merge of #113698 - compiler-errors:rpitit-check, r=spastorinoMatthias Krüger-3/+3
Make it clearer that we're just checking for an RPITIT Tiny nit to use `is_impl_trait_in_trait` more, to make it clearer that we're just checking whether a def-id is an RPITIT, rather than doing something meaningful with the `opt_rpitit_info`. r? `@spastorino`
2023-07-14Make it clearer that we're just checking for an RPITITMichael Goulet-3/+3
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-124/+131
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-45/+61
2023-07-08Replace RPITIT current impl with new strategy that lowers as a GATSantiago Pastorino-2/+2
2023-07-05Move `TyCtxt::mk_x` to `Ty::new_x` where applicableBoxy-47/+48
2023-07-05Only use a single loop over the associated typesOli Scherer-5/+2
2023-07-05Prefer `retain` over hand-rolling an inefficient version of itOli Scherer-7/+3
2023-07-05tidy: move a large function out of an even larger fileOli Scherer-406/+418
2023-07-05Lint now-unnecessary associated type boundsOli Scherer-3/+21
2023-07-05Don't require associated types with `Self: Sized` bounds in `dyn Trait` objectsOli Scherer-0/+10
2023-07-04Replace `const_error` methods with `Const::new_error`Boxy-10/+10
2023-07-04Replace `mk_const` with `Const::new_x` methodsBoxy-6/+6
2023-07-03remove TypeWellFormedFromEnvMichael Goulet-2/+1
2023-07-03Don't perform selection if IATs are not enabledLeón Orell Valerian Liehr-5/+9
2023-07-01Auto merge of #113154 - lcnr:better-probe-check, r=compiler-errorsbors-1/+1
change snapshot tracking in fulfillment contexts use the exact snapshot number to prevent misuse even when created inside of a snapshot
2023-06-29Intern OpaqueTy on ItemKind::OpaqueTySantiago Pastorino-1/+1
2023-06-29change snapshot tracking in fulfillment contextslcnr-1/+1
2023-06-27pass PredicateFilter to compute_boundsMichael Goulet-35/+45
2023-06-26TypeWellFormedInEnvMichael Goulet-1/+2
2023-06-26Migrate predicates_of and caller_bounds to ClauseMichael Goulet-35/+24
2023-06-23Rollup merge of #112983 - spastorino:new-rpitit-23, r=compiler-errorsMichael Goulet-6/+14
Fix return type notation associated type suggestion when -Zlower-impl-trait-in-trait-to-assoc-ty This avoid suggesting the associated types generated for RPITITs when the one the code refers to doesn't exist and rustc looks for a suggestion. r? `@compiler-errors`
2023-06-23Fix associated type suggestion when -Zlower-impl-trait-in-trait-to-assoc-tySantiago Pastorino-6/+14
2023-06-23Fix return type notation errors with -Zlower-impl-trait-in-trait-to-assoc-tySantiago Pastorino-1/+1
2023-06-21Rollup merge of #112853 - GuillaumeGomez:type_alias_type, r=oli-obkGuillaume Gomez-1/+1
Add `lazy_type_alias` feature gate Add the `type_alias_type` to be able to have the weak alias used without restrictions. Part of #112792. cc `@compiler-errors` r? `@oli-obk`
2023-06-21Add `lazy_type_alias` feature gateGuillaume Gomez-1/+1
2023-06-19Fully fledged Clause typeMichael Goulet-2/+2
2023-06-19s/Clause/ClauseKindMichael Goulet-11/+13
2023-06-18Rollup merge of #112734 - dswij:bounds-predicates-clause, r=compiler-errorsMatthias Krüger-2/+4
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.