about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/ty/flags.rs
AgeCommit message (Collapse)AuthorLines
2025-04-12Move FlagComputation, PatternKind, and TypeWalker to rustc_type_irjackh726-359/+0
2025-04-08clean code: remove Deref<Target=RegionKind> impl for Region and use `.kind()`xizheyin-1/+1
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-03-23Remove STILL_FURTHER_SPECIALIZABLE special casingMichael Goulet-74/+15
2025-03-23Remove HAS_TY_COROUTINEMichael Goulet-1/+0
2025-03-23Visit coroutine kind ty in FlagComputationMichael Goulet-0/+1
2025-03-06Remove the `Option` part of range ends in the HIROli Scherer-1/+1
2025-03-06Avoid having to handle an `Option` in the type systemOli Scherer-6/+2
2025-01-30introduce `ty::Value`Lukas Markeffsky-1/+1
Co-authored-by: FedericoBruzzone <federico.bruzzone.i@gmail.com>
2024-12-22Begin to implement type system layer of unsafe bindersMichael Goulet-0/+6
2024-10-30Merge HostPolarity and BoundConstnessMichael Goulet-1/+1
2024-10-24Implement const effect predicate in new solverMichael Goulet-0/+6
2024-10-24Remove associated type based effects logicMichael Goulet-3/+1
2024-09-25Compiler: Rename "object safe" to "dyn compatible"León Orell Valerian Liehr-1/+1
2024-08-12Streamline some inputs/output traversals.Nicholas Nethercote-2/+1
2024-08-09Shrink `TyKind::FnPtr`.Nicholas Nethercote-3/+3
By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and `FnHeader`, which can be packed more efficiently. This reduces the size of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms. This reduces peak memory usage by a few percent on some benchmarks. It also reduces cache misses and page faults similarly, though this doesn't translate to clear cycles or wall-time improvements on CI.
2024-07-29Reformat `use` declarations.Nicholas Nethercote-2/+2
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-05Add `Ty` to `ConstKind::Value`Boxy-1/+1
2024-06-05Basic removal of `Ty` from places (boring)Boxy-3/+2
2024-06-04Downsize `ty::Expr`Boxy-20/+1
2024-05-13split out AliasTy -> AliasTermMichael Goulet-3/+7
2024-04-08Actually create ranged int types in the type system.Oli Scherer-0/+14
2024-04-04cache type info for ParamEnvLukas Markeffsky-0/+9
2024-03-22Make RawPtr take Ty and Mutbl separatelyMichael Goulet-2/+2
2024-02-20Introduce expand_weak_alias_tysLeón Orell Valerian Liehr-2/+3
2024-02-06More comments, final tweaksMichael Goulet-3/+3
2024-02-06Add CoroutineClosure to TyKind, AggregateKind, UpvarArgsMichael Goulet-0/+16
2023-12-28Remove movability from TyKind::CoroutineMichael Goulet-1/+1
2023-12-07add unused `NormalizesTo` predicatelcnr-0/+4
2023-11-24Auto merge of #118189 - compiler-errors:cache-flags-for-const, r=nnethercotebors-5/+10
Cache flags for `ty::Const` Not sure if this has been attempted yet, but worth a shot. It does make the code simpler in `rustc_type_ir`, since we can assume that consts have a `flags` method that is no-cost. r? `@ghost`
2023-11-22Cache flags for ty::ConstMichael Goulet-5/+10
2023-11-21Remove ClosureKind predicate kindMichael Goulet-3/+0
2023-11-13update type flagslcnr-2/+2
- `HAS_RE_LATE_BOUND` -> `HAS_RE_BOUND` - `HAS_TY_LATE_BOUND` -> `HAS_TY_BOUND` - `HAS_CT_LATE_BOUND` -> `HAS_CT_BOUND` - `HAS_LATE_BOUND` -> `HAS_BOUND_VARS` - `fn has_late_bound_regions` -> `fn has_bound_regions` - `fnhas_non_region_late_bound` -> `fn has_non_region_bound_vars` - `fn has_late_bound_vars` -> `fn has_bound_vars`
2023-11-13rename `ReLateBound` to `ReBound`lcnr-1/+1
other changes: - `Region::new_late_bound` -> `Region::new_bound` - `Region::is_late_bound` -> `Region::is_bound`
2023-11-04Make sure that predicates with unmentioned bound vars are still considered ↵Michael Goulet-21/+5
global in the old solver
2023-10-26Replace type flag HAS_TY_GENERATOR with HAS_TY_COROUTINELeón Orell Valerian Liehr-1/+1
2023-10-20s/generator/coroutine/Oli Scherer-1/+1
2023-10-20s/Generator/Coroutine/Oli Scherer-2/+2
2023-09-23Remove GeneratorWitness and rename GeneratorWitnessMIR.Camille GILLOT-5/+1
2023-09-14Properly consider binder vars in HasTypeFlagsVisitorMichael Goulet-15/+21
2023-09-10Implement fallback for effect paramDeadbeef-1/+3
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-31/+31
2023-07-03remove TypeWellFormedFromEnvMichael Goulet-3/+0
2023-06-26TypeWellFormedInEnvMichael Goulet-1/+1
2023-06-19s/Clause/ClauseKindMichael Goulet-7/+10
2023-06-17Move ConstEvaluatable to ClauseMichael Goulet-1/+1
2023-06-17Move WF goal to clauseMichael Goulet-1/+1
2023-06-16Add `AliasKind::Weak` for type aliases.Oli Scherer-1/+1
Only use it when the type alias contains an opaque type. Also does wf-checking on such type aliases.
2023-05-04IAT: Introduce AliasKind::InherentLeón Orell Valerian Liehr-7/+7
2023-04-19small type system cleanuplcnr-4/+4
2023-03-23Rename AliasEq -> AliasRelateMichael Goulet-1/+1