about summary refs log tree commit diff
path: root/compiler/rustc_infer
AgeCommit message (Collapse)AuthorLines
2025-01-28Make item self/non-self bound naming less whackMichael Goulet-1/+1
2025-01-22Remove `Copy` bound from `enter_forall`Boxy-4/+4
2025-01-18Get rid of `ToPolyTraitRef`Michael Goulet-3/+3
2025-01-13rm unnecessary `OpaqueTypeDecl` wrapperlcnr-24/+16
2025-01-02Simplify declared_generic_bounds_from_envMichael Goulet-32/+23
2025-01-02Make it clearer that the only infers we expect to see when processing ↵Michael Goulet-1/+8
outlives are regions
2025-01-02Remove hack for filtering out param-env outlives that match item-bound outlivesMichael Goulet-18/+1
2024-12-30fix a couple nitsRémy Rakic-1/+1
- remove unneeded type ascription - fix variable name - fix typo in comment - fix `var_origins` var and function name: these are `VarInfos`
2024-12-26nit: Remove redundant functionMichael Goulet-4/+0
2024-12-22Begin to implement type system layer of unsafe bindersMichael Goulet-0/+1
2024-12-20remove non-borrowck member constraintslcnr-353/+5
2024-12-18Re-export more `rustc_span::symbol` things from `rustc_span`.Nicholas Nethercote-4/+2
`rustc_span::symbol` defines some things that are re-exported from `rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some closely related things such as `Ident` and `kw`. So you can do `use rustc_span::{Symbol, sym}` but you have to do `use rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good reason. This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`, and changes many `rustc_span::symbol::` qualifiers in `compiler/` to `rustc_span::`. This is a 200+ net line of code reduction, mostly because many files with two `use rustc_span` items can be reduced to one.
2024-12-17`fn member_constraint` to `add_member_constraint`lcnr-4/+4
2024-12-02Assert that obligations are empty before deeply normalizingMichael Goulet-0/+2
2024-11-28support revealing defined opaque post borrowcklcnr-5/+19
2024-11-28uplift fold_regions to rustc_type_irlcnr-4/+4
2024-11-23Auto merge of #133242 - lcnr:questionable-uwu, r=compiler-errors,BoxyUwUbors-39/+15
finish `Reveal` removal After #133212 changed the `TypingMode` to be the only source of truth, this entirely rips out `Reveal`. cc #132279 r? `@compiler-errors`
2024-11-23global old solver cache: use `TypingEnv`lcnr-4/+5
2024-11-23no more Reveal :(lcnr-35/+10
2024-11-23Remove unnecessary bool from ExpectedFoundMichael Goulet-44/+18
2024-11-19Implement ~const opaquesMichael Goulet-4/+23
2024-11-18reviewlcnr-3/+3
2024-11-18use `TypingEnv` when no `infcx` is availablelcnr-1/+45
the behavior of the type system not only depends on the current assumptions, but also the currentnphase of the compiler. This is mostly necessary as we need to decide whether and how to reveal opaque types. We track this via the `TypingMode`.
2024-11-12Consolidate type system const evaluation under `traits::evaluate_const`Boxy-135/+1
mew
2024-11-08Manually register some bounds for a better spanMichael Goulet-0/+1
2024-11-07Remove unused intercrate dependenciesclubby789-2/+0
2024-11-04ty::BrK -> ty::BoundRegionKind::KMichael Goulet-1/+1
2024-11-02Remove or fix some FIXME(async_closure)Michael Goulet-1/+0
2024-10-31Encode cross-crate opaque type originMichael Goulet-1/+4
2024-10-29TypingMode :thinking:lcnr-110/+108
2024-10-28fix clippy::clone_on_ref_ptr for compilerklensy-1/+1
2024-10-24Implement const effect predicate in new solverMichael Goulet-12/+2
2024-10-24Remove associated type based effects logicMichael Goulet-159/+7
2024-10-23clone range in a more obvious wayMatthias Krüger-4/+1
2024-10-19refactor fudge_inference, handle effect varslcnr-124/+175
2024-10-17move `defining_opaque_types` out of `Canonical`lcnr-21/+12
2024-10-12Swap PredicateObligation to ThinVecGnomedDev-1/+3
2024-10-12Swap Vec<PredicateObligation> to type aliasGnomedDev-29/+34
2024-10-10Make super combine into fnsMichael Goulet-8/+8
2024-10-10Use SolverRelating in favor of TypeRelating in the old solver where possibleMichael Goulet-30/+73
2024-10-10Remove unnecessary StructurallyRelateAliases from CombineFields/TypeRelatingMichael Goulet-8/+2
2024-10-10Use SolverRelating in new solverMichael Goulet-72/+2
2024-10-10Introduce SolverRelatingMichael Goulet-1/+34
2024-10-10Uplift super_combineMichael Goulet-254/+70
2024-10-10Move ty::Error branch into super_combine_tysMichael Goulet-5/+5
2024-10-08Remove unnecessary `return` keyword.Nicholas Nethercote-1/+1
2024-10-08Use `Default` more in `InferCtxtInner`.Nicholas Nethercote-18/+7
2024-10-08Downgrade a `&mut self` to `&self`.Nicholas Nethercote-1/+1
2024-10-08Remove `Deref`/`DerefMut` impls for `RegionConstraintCollector`.Nicholas Nethercote-32/+18
`Deref`/`DerefMut` can be useful, but they can also obfuscate. I don't think they're worth it for `RegionConstraintCollector`. They're also not present on the similar types `OpaqueTypeTable` and `TypeVariableTable`.
2024-10-08Remove unnecessary lifetime from `LeakCheck`.Nicholas Nethercote-32/+22
`LeakCheck` can own `mini_graph` and `rcc` instead of holding references to them. This requires inlining `assign_scc_value` to avoid a borrowck error, but that's fine because it has a single call site.