about summary refs log tree commit diff
path: root/compiler/rustc_infer/src/infer/higher_ranked
AgeCommit message (Collapse)AuthorLines
2024-03-07remove empty folderlcnr-8/+0
2023-12-15Add higher_ranked to relate submoduleMichael Goulet-136/+0
2023-12-15Move type relations into submodule in rustc_inferMichael Goulet-1/+1
2023-07-05Move `TyCtxt::mk_x` to `Ty::new_x` where applicableBoxy-5/+5
2023-07-04Replace `mk_const` with `Const::new_x` methodsBoxy-1/+2
2023-05-30rework the leak_check to take the outer_universelcnr-4/+11
clean up coherence to not rely on probes anymore
2023-05-30leak_check: remove unused codepathlcnr-6/+1
2023-05-29Rename `tcx.mk_re_*` => `Region::new_*`Maybe Waffle-2/+4
2023-04-17Spelling - compilerJosh Soref-1/+1
* account * achieved * advising * always * ambiguous * analysis * annotations * appropriate * build * candidates * cascading * category * character * clarification * compound * conceptually * constituent * consts * convenience * corresponds * debruijn * debug * debugable * debuggable * deterministic * discriminant * display * documentation * doesn't * ellipsis * erroneous * evaluability * evaluate * evaluation * explicitly * fallible * fulfill * getting * has * highlighting * illustrative * imported * incompatible * infringing * initialized * into * intrinsic * introduced * javascript * liveness * metadata * monomorphization * nonexistent * nontrivial * obligation * obligations * offset * opaque * opportunities * opt-in * outlive * overlapping * paragraph * parentheses * poisson * precisely * predecessors * predicates * preexisting * propagated * really * reentrant * referent * responsibility * rustonomicon * shortcircuit * simplifiable * simplifications * specify * stabilized * structurally * suggestibility * translatable * transmuting * two * unclosed * uninhabited * visibility * volatile * workaround Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-06Use BoundTy and BoundRegion instead of kind of PlaceholderTy and ↵Jack Huey-7/+7
PlaceholderRegion
2023-02-22Remove type-traversal trait aliasesAlan Egerton-2/+2
2023-02-15Add specialized variants of `mk_region`.Nicholas Nethercote-2/+2
Much like there are specialized variants of `mk_ty`. This will enable some optimization in the next commit. Also rename the existing `re_error*` functions as `mk_re_error*`, for consistency.
2023-02-13Reduce direct `mk_ty` usage.Nicholas Nethercote-2/+2
We use more specific `mk_*` functions in most places, might as well use them as much as possible.
2023-02-07Replacing bound vars is actually instantiating a binderMichael Goulet-3/+3
2023-01-30Track bound types like bound regionsMichael Goulet-1/+1
2022-11-28Simplify calls to `tcx.mk_const`Maybe Waffle-7/+2
`mk_const(ty::ConstKind::X(...), ty)` can now be simplified to `mk_cosnt(..., ty)`. I searched with the following regex: \mk_const\([\n\s]*(ty::)?ConstKind\ I've left `ty::ConstKind::{Bound, Error}` as-is, they seem clearer this way.
2022-11-04Refactor tcx mk_const parameters.Mateusz-3/+3
2022-10-07Remove TypeckResults from InferCtxtCameron Steffen-2/+2
2022-09-15change `FnMutDelegate` to trait objectslcnr-3/+3
2022-09-01tracing::instrument cleanupOli Scherer-4/+3
2022-08-03Rollup merge of #100102 - b-naber:typo-higher-ranked-sub, r=Dylan-DPCMatthias Krüger-1/+1
Fix typo r? ```@jackh726```
2022-08-03fix typob-naber-1/+1
2022-08-01make `PlaceholderConst` not store the type of the constEllen-1/+1
2022-07-28`BoundVarReplacer`: trait object instead of 3 fnslcnr-22/+23
2022-07-13Rename `debugging_opts` to `unstable_opts`Joshua Nelson-1/+1
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`). Rename it to be more clear.
2022-07-08don't use `commit_if_ok` during `higher_ranked_sub`lcnr-21/+17
2022-06-14Rename 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-06-10eagerly check whether we replace any bound varslcnr-23/+10
2022-06-10update higher_ranked_sub docslcnr-24/+31
2022-06-10bound_vars -> infer: don't return lt maplcnr-2/+1
2022-06-10replace bound vars: make caching explicitlcnr-10/+9
2022-03-11update commentlcnr-7/+4
2022-02-21obligation forest docslcnr-1/+3
2022-02-15Overhaul `Const`.Nicholas Nethercote-1/+1
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.
2021-09-28More tracing instrumentationOli Scherer-2/+1
2021-03-31Add tcx lifetime to BinderJack Huey-4/+4
2021-03-31Some rebinds and dummysJack Huey-1/+4
2020-12-18Make BoundRegion have a kind of BoungRegionKindJack Huey-2/+2
2020-12-03The details of higher-rank sub are in the rustc book not a doc module.Benjamin Peterson-3/+3
2020-11-16compiler: fold by valueBastian Kauschke-5/+4
2020-11-12Add type to `ConstKind::Placeholder`varkor-1/+1
2020-10-06Remove unused part of return value from `replace_bound_vars_with_placeholders`Matthew Jasper-7/+4
2020-08-30mv compiler to compiler/mark-0/+159