about summary refs log tree commit diff
path: root/compiler/rustc_infer/src/infer/snapshot
AgeCommit message (Collapse)AuthorLines
2025-09-08eagerly compute `sub_relations` againlcnr-1/+3
2025-07-30handle region dependent goals due to infer varslcnr-1/+7
2025-07-15Consider outlives assumptions when proving auto traits for coroutine interiorsMichael Goulet-0/+4
2025-07-13Make sure that users don't take region obligations in a snapshotMichael Goulet-1/+3
2025-05-26RenameMichael Goulet-2/+2
2025-05-06support duplicates in the opaque_types_storagelcnr-0/+2
2025-05-02Use less rustc_type_ir in the compiler codebaseRomain Perier-2/+1
This commit does the following: - Replaces use of rustc_type_ir by rustc_middle in rustc_infer. - The DelayedMap type is exposed by rustc_middle so everything can be accessed through rustc_middle in a coherent manner. - API-layer traits, like InferCtxtLike, Interner or inherent::* must be accessed via rustc_type_ir, not rustc_middle::ty. For this reason these are not reexported by rustc_middle::ty. - Replaces use of ty::Interner by rustc_type_ir::Interner in rustc_trait_selection
2025-04-14Use `newtype_index!`-generated types more idiomaticallyYotam Ofek-3/+4
2025-03-15Fold visit into tyMichael Goulet-1/+1
2025-03-15Squash fold into tyMichael Goulet-2/+4
2025-02-02Move `unify_key` module.Nicholas Nethercote-2/+2
From `rustc_middle::infer` to `rustc_infer::infer`. Because everything in it is only used within `rustc_infer`, and no longer needs to be `pub`. Plus it's always good to make the huge `rustc_middle` crate smaller.
2024-10-24Remove associated type based effects logicMichael Goulet-31/+3
2024-10-19refactor fudge_inference, handle effect varslcnr-121/+167
2024-10-07Reduce visibilities some more.Nicholas Nethercote-1/+1
It helps people reading the code understand how widely things are used.
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-2/+2
2024-08-30Remove `#[macro_use] extern crate tracing` from `rustc_infer`.Nicholas Nethercote-0/+3
2024-08-27Add `warn(unreachable_pub)` to `rustc_infer`.Nicholas Nethercote-2/+2
2024-07-29Reformat `use` declarations.Nicholas Nethercote-16/+11
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-21Rename a bunch of thingsMichael Goulet-1/+1
2024-06-05Basic removal of `Ty` from places (boring)Boxy-1/+1
2024-05-10Use fewer origins when creating type variables.Nicholas Nethercote-2/+2
`InferCtxt::next_{ty,const}_var*` all take an origin, but the `param_def_id` is almost always `None`. This commit changes them to just take a `Span` and build the origin within the method, and adds new methods for the rare cases where `param_def_id` might not be `None`. This avoids a lot of tedious origin building. Specifically: - next_ty_var{,_id_in_universe,_in_universe}: now take `Span` instead of `TypeVariableOrigin` - next_ty_var_with_origin: added - next_const_var{,_in_universe}: takes Span instead of ConstVariableOrigin - next_const_var_with_origin: added - next_region_var, next_region_var_in_universe: these are unchanged, still take RegionVariableOrigin The API inconsistency (ty/const vs region) seems worth it for the large conciseness improvements.
2024-04-15Remove ConstVariableOriginKindMichael Goulet-5/+4
2024-03-28compiler: fix few needless_pass_by_ref_mut clippy lintsklensy-3/+3
warning: this argument is a mutable reference, but not used mutably --> compiler\rustc_session\src\config.rs:2013:16 | 2013 | early_dcx: &mut EarlyDiagCtxt, | ^^^^^^^^^^^^^^^^^^ help: consider changing to: `&EarlyDiagCtxt` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_ref_mut warning: this argument is a mutable reference, but not used mutably --> compiler\rustc_ast_passes\src\ast_validation.rs:1555:11 | 1555 | this: &mut AstValidator<'_>, | ^^^^^^^^^^^^^^^^^^^^^ help: consider changing to: `&AstValidator<'_>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_ref_mut warning: this argument is a mutable reference, but not used mutably --> compiler\rustc_infer\src\infer\snapshot\fudge.rs:16:12 | 16 | table: &mut UnificationTable<'_, 'tcx, T>, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider changing to: `&UnificationTable<'_, 'tcx, T>` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_ref_mut warning: this argument is a mutable reference, but not used mutably --> compiler\rustc_expand\src\expand.rs:961:13 | 961 | parser: &mut Parser<'a>, | ^^^^^^^^^^^^^^^ help: consider changing to: `&Parser<'a>` | = warning: changing this function will impact semver compatibility = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pass_by_ref_mut
2024-03-07move snapshot handling into modlcnr-0/+560