| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-28 | Remove movability from TyKind::Coroutine | Michael Goulet | -1/+1 | |
| 2023-12-07 | add unused `NormalizesTo` predicate | lcnr | -0/+4 | |
| 2023-11-24 | Auto merge of #118189 - compiler-errors:cache-flags-for-const, r=nnethercote | bors | -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-22 | Cache flags for ty::Const | Michael Goulet | -5/+10 | |
| 2023-11-21 | Remove ClosureKind predicate kind | Michael Goulet | -3/+0 | |
| 2023-11-13 | update type flags | lcnr | -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-13 | rename `ReLateBound` to `ReBound` | lcnr | -1/+1 | |
| other changes: - `Region::new_late_bound` -> `Region::new_bound` - `Region::is_late_bound` -> `Region::is_bound` | ||||
| 2023-11-04 | Make sure that predicates with unmentioned bound vars are still considered ↵ | Michael Goulet | -21/+5 | |
| global in the old solver | ||||
| 2023-10-26 | Replace type flag HAS_TY_GENERATOR with HAS_TY_COROUTINE | León Orell Valerian Liehr | -1/+1 | |
| 2023-10-20 | s/generator/coroutine/ | Oli Scherer | -1/+1 | |
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -2/+2 | |
| 2023-09-23 | Remove GeneratorWitness and rename GeneratorWitnessMIR. | Camille GILLOT | -5/+1 | |
| 2023-09-14 | Properly consider binder vars in HasTypeFlagsVisitor | Michael Goulet | -15/+21 | |
| 2023-09-10 | Implement fallback for effect param | Deadbeef | -1/+3 | |
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -31/+31 | |
| 2023-07-03 | remove TypeWellFormedFromEnv | Michael Goulet | -3/+0 | |
| 2023-06-26 | TypeWellFormedInEnv | Michael Goulet | -1/+1 | |
| 2023-06-19 | s/Clause/ClauseKind | Michael Goulet | -7/+10 | |
| 2023-06-17 | Move ConstEvaluatable to Clause | Michael Goulet | -1/+1 | |
| 2023-06-17 | Move WF goal to clause | Michael Goulet | -1/+1 | |
| 2023-06-16 | Add `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-04 | IAT: Introduce AliasKind::Inherent | León Orell Valerian Liehr | -7/+7 | |
| 2023-04-19 | small type system cleanup | lcnr | -4/+4 | |
| 2023-03-23 | Rename AliasEq -> AliasRelate | Michael Goulet | -1/+1 | |
| 2023-03-23 | Include relation direction in AliasEq predicate | Michael Goulet | -1/+1 | |
| 2023-02-17 | Add `Clause::ConstArgHasType` variant | Boxy | -0/+4 | |
| 2023-02-15 | simplify some refs | Matthias Krüger | -1/+1 | |
| 2023-02-10 | add `AliasEq` to `PredicateKind` | Boxy | -4/+12 | |
| 2023-01-27 | Introduce GeneratorWitnessMIR. | Camille GILLOT | -0/+10 | |
| 2023-01-08 | Add type flags support for Ty and Const late-bound regions | Michael Goulet | -2/+14 | |
| 2022-12-20 | rustc: Remove needless lifetimes | Jeremy Stucki | -1/+1 | |
| 2022-12-18 | don't restuct references just to reborrow | Matthias Krüger | -2/+2 | |
| 2022-12-14 | Ensure no one constructs `AliasTy`s themselves | Oli Scherer | -1/+1 | |
| 2022-12-13 | Combine projection and opaque into alias | Michael Goulet | -2/+2 | |
| 2022-12-13 | squash OpaqueTy and ProjectionTy into AliasTy | Michael Goulet | -2/+2 | |
| 2022-12-13 | Use ty::OpaqueTy everywhere | Michael Goulet | -1/+1 | |
| 2022-11-27 | Prefer doc comments over `//`-comments in compiler | Maybe Waffle | -1/+1 | |
| 2022-11-25 | Auto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU | bors | -0/+20 | |
| Add `ConstKind::Expr` Starting to implement `ty::ConstKind::Abstract`, most of the match cases are stubbed out, some I was unsure what to add, others I didn't want to add until a more complete implementation was ready. r? `@lcnr` | ||||
| 2022-11-25 | Add empty ConstKind::Abstract | kadmin | -0/+20 | |
| Initial pass at expr/abstract const/s Address comments Switch to using a list instead of &[ty::Const], rm `AbstractConst` Remove try_unify_abstract_consts Update comments Add edits Recurse more More edits Prevent equating associated consts Move failing test to ui Changes this test from incremental to ui, and mark it as failing and a known bug. Does not cause the compiler to ICE, so should be ok. | ||||
| 2022-11-25 | Introduce PredicateKind::Clause | Santiago Pastorino | -4/+10 | |
| 2022-11-21 | Add an always-ambiguous predicate to make sure that we don't accidentlally ↵ | Oli Scherer | -0/+1 | |
| allow trait resolution to prove false things during coherence | ||||
| 2022-10-19 | stop folding `UnevaluatedConst` | lcnr | -12/+4 | |
| 2022-10-18 | change `ConstEvaluatable` to use `ty::Const` | lcnr | -1/+1 | |
| 2022-09-23 | rename Unevaluated to UnevaluatedConst | b-naber | -2/+2 | |
| 2022-09-22 | introduce mir::Unevaluated | b-naber | -1/+1 | |
| 2022-09-12 | Plumb dyn trait representation through ty::Dynamic | Eric Holk | -1/+1 | |
| 2022-09-05 | Pack `Term` in the same way as `GenericArg`. | Nicholas Nethercote | -7/+7 | |
| This shrinks the `PredicateS` type, which is instanted frequently. | ||||
| 2022-06-14 | Rename the `ConstS::val` field as `kind`. | Nicholas Nethercote | -1/+1 | |
| And likewise for the `Const::val` method. Because its type is called `ConstKind`. Also `val` is a confusing name because `ConstKind` is an enum with seven variants, one of which is called `Value`. Also, this gives consistency with `TyS` and `PredicateS` which have `kind` fields. The commit also renames a few `Const` variables from `val` to `c`, to avoid confusion with the `ConstKind::Value` variant. | ||||
| 2022-02-21 | use `List<Ty<'tcx>>` for tuples | lcnr | -2/+2 | |
| 2022-02-15 | Overhaul `Const`. | Nicholas Nethercote | -4/+4 | |
| Specifically, rename the `Const` struct as `ConstS` and re-introduce `Const` as this: ``` pub struct Const<'tcx>(&'tcx Interned<ConstS>); ``` This now matches `Ty` and `Predicate` more closely, including using pointer-based `eq` and `hash`. Notable changes: - `mk_const` now takes a `ConstS`. - `Const` was copy, despite being 48 bytes. Now `ConstS` is not, so need a we need separate arena for it, because we can't use the `Dropless` one any more. - Many `&'tcx Const<'tcx>`/`&Const<'tcx>` to `Const<'tcx>` changes - Many `ct.ty` to `ct.ty()` and `ct.val` to `ct.val()` changes. - Lots of tedious sigil fiddling. | ||||
