| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-02-16 | Move librustc/{traits,infer} to librustc_infer. | Camille GILLOT | -213/+0 | |
| 2020-02-10 | Reduce the number of `RefCell`s in `InferCtxt`. | Nicholas Nethercote | -18/+14 | |
| `InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places. | ||||
| 2020-01-27 | don't clone types that are copy, round two. | Matthias Krüger | -1/+1 | |
| 2019-12-22 | Format the world | Mark Rousskov | -30/+33 | |
| 2019-11-12 | Create intermediate enum ty::ConstKind. | Camille GILLOT | -2/+1 | |
| 2019-09-25 | Rename `sty` to `kind` | varkor | -1/+1 | |
| 2019-06-18 | rustc: remove 'x: 'y bounds (except from comments/strings). | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-14 | Unify all uses of 'gcx and 'tcx. | Eduard-Mihai Burtescu | -5/+5 | |
| 2019-06-12 | rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-12 | rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-05-28 | Rename `OpportunisticTypeResolver` to `OpportunisticVarResolver` | varkor | -1/+1 | |
| 2019-05-01 | Implement const generics for `InferenceFudger` | varkor | -13/+32 | |
| 2019-05-01 | Fix rebase from LazyConst removal | varkor | -5/+2 | |
| 2019-05-01 | Replace ConstVariableTable with UnificationTable | varkor | -20/+10 | |
| 2019-05-01 | impl fold_const for RegionFudger | Gabriel Smith | -1/+29 | |
| Signed-off-by: Gabriel Smith <ga29smith@gmail.com> | ||||
| 2019-05-01 | Add stubs for `fold_const` | varkor | -0/+4 | |
| Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com> | ||||
| 2019-03-27 | Use Vec instead of FxHashMap | varkor | -7/+10 | |
| 2019-03-27 | Lookup region variable origin instead of choosing one | varkor | -9/+6 | |
| 2019-03-27 | Store type variable origins in InferenceFudger | varkor | -3/+4 | |
| 2019-03-27 | Use `eq_relations` | varkor | -5/+5 | |
| 2019-03-27 | Add `next_int_var` and `next_float_var` | varkor | -2/+2 | |
| 2019-03-27 | Simplify `fudge_inference_if_ok` | varkor | -19/+19 | |
| 2019-03-27 | Add int variables and float variables to `InferenceFudger` | varkor | -8/+35 | |
| 2019-03-27 | Rename `RegionFudger` to `InferenceFudger` | varkor | -7/+7 | |
| 2019-03-27 | Use Ranges for vars_since_snapshot | varkor | -31/+28 | |
| 2019-03-27 | Make `vars_since_snapshot` naming consistent | varkor | -6/+6 | |
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -2/+2 | |
| 2019-02-05 | move librustc to 2018 | Mark Mansi | -3/+3 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -10/+0 | |
| 2018-08-22 | Remove Ty prefix from ↵ | varkor | -1/+1 | |
| Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error} | ||||
| 2018-03-23 | Revert "add universes to type inference variables" | Sean Griffin | -5/+1 | |
| This reverts commit 13efaf0481275dba18f1d18f4b59b664b2d2031a. | ||||
| 2018-03-01 | add universes to type inference variables | Niko Matsakis | -1/+5 | |
| 2018-03-01 | have `probe()` return `TypeVariableValue` | Niko Matsakis | -1/+3 | |
| 2017-11-16 | make the `region_constraints` field an `Option` | Niko Matsakis | -1/+1 | |
| This way, we can `take()` ownership of it when we are going to resolve regions. | ||||
| 2017-11-16 | infer: rename `region_vars` field to `region_constraints` | Niko Matsakis | -2/+2 | |
| 2017-11-16 | move refcells out from `RegionVarBindings` and up into `InferCtxt` | Niko Matsakis | -1/+1 | |
| 2017-07-05 | use field init shorthand in src/librustc | Zack M. Davis | -1/+1 | |
| The field init shorthand syntax was stabilized in 1.17.0 (aebd94f); we are now free to use it in the compiler. | ||||
| 2017-04-30 | intern CodeExtents | Niko Matsakis | -1/+1 | |
| Make a `CodeExtent<'tcx>` be something allocated in an arena instead of an index into the `RegionMaps`. | ||||
| 2017-04-12 | do not consult union-find during `fudge_regions_if_ok` | Niko Matsakis | -12/+4 | |
| 2017-04-11 | generalize type variables too | Niko Matsakis | -22/+53 | |
| When we are generalizing a super/sub-type, we have to replace type variables with a fresh variable (and not just region variables). So if we know that `Box<?T> <: ?U`, for example, we instantiate `?U` with `Box<?V>` and then relate `Box<?T>` to `Box<?V>` (and hence require that `?T <: ?V`). This change has some complex interactions, however: First, the occurs check must be updated to detect constraints like `?T <: ?U` and `?U <: Box<?T>`. If we're not careful, we'll create a never-ending sequence of new variables. To address this, we add a second unification set into `type_variables` that tracks type variables related through **either** equality **or** subtyping, and use that during the occurs-check. Second, the "fudge regions if ok" code was expecting no new type variables to be created. It must be updated to create new type variables outside of the probe. This is relatively straight-forward under the new scheme, since type variables are now independent from one another, and any relations are moderated by pending subtype obliations and so forth. This part would be tricky to backport though. cc #18653 cc #40951 | ||||
| 2016-11-08 | introduce a `fudge_regions_if_ok` to address false region edges | Niko Matsakis | -0/+137 | |
| Fixes #37655. | ||||
