| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-03-08 | Move librustc_const_eval to librustc_mir | Oliver Schneider | -1069/+0 | |
| 2018-03-08 | Produce instead of pointers | Oliver Schneider | -122/+213 | |
| 2018-03-08 | Add a variant to ConstVal for storing miri results | Oliver Schneider | -0/+1 | |
| 2018-02-08 | Encode (in MIR) whether borrows are explicit in source or arise due to autoref. | Felix S. Klock II | -2/+2 | |
| This is foundation for issue 46747 (limit two-phase borrows to method-call autorefs). | ||||
| 2018-01-31 | Rollup merge of #47876 - GuillaumeGomez:associated-const-error, r=nikomatsakis | kennytm | -1/+10 | |
| Update associated constants error message Fixes #47570. | ||||
| 2018-01-30 | Update associated constants error message | Guillaume Gomez | -1/+10 | |
| 2018-01-25 | Auto merge of #47374 - topecongiro:issue-47096, r=nikomatsakis | bors | -1/+3 | |
| Simplify irrefutable slice patterns Closes #47096. | ||||
| 2018-01-17 | Simplify irrefutable slice patterns | Seiichi Uchida | -1/+3 | |
| Closes #47096. | ||||
| 2018-01-13 | Use delay_span_bug() over debug!() | Seiichi Uchida | -1/+2 | |
| 2018-01-12 | Ignore CTFE errors while lowering patterns | Seiichi Uchida | -1/+1 | |
| Closes #43105. | ||||
| 2017-11-18 | rustc_mir: always downcast enums, even if univariant. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-10-06 | implement pattern-binding-modes RFC | Tobias Schottdorf | -0/+38 | |
| See the [RFC] and [tracking issue]. [tracking issue]: https://github.com/rust-lang/rust/issues/42640 [RFC]: https://github.com/rust-lang/rfcs/blob/491e0af/text/2005-match-ergonomics.md | ||||
| 2017-09-18 | incr.comp.: Already hash HIR bodies during metadata export so they don't ↵ | Michael Woerister | -1/+1 | |
| have to be hashed in downstream crates. | ||||
| 2017-09-11 | rustc: evaluate fixed-length array length expressions lazily. | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-09-11 | rustc: use ty::Const for the length of TyArray. | Eduard-Mihai Burtescu | -1/+2 | |
| 2017-09-11 | rustc: replace usize with u64 and ConstUsize. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-09-11 | rustc: introduce ty::Const { ConstVal, Ty }. | Eduard-Mihai Burtescu | -8/+8 | |
| 2017-09-11 | rustc: intern ConstVal's in TyCtxt. | Eduard-Mihai Burtescu | -31/+28 | |
| 2017-09-08 | Use NodeId/HirId instead of DefId for local variables. | Eduard-Mihai Burtescu | -2/+1 | |
| 2017-09-05 | rustc: Rename item_body query to extern_const_body | Alex Crichton | -1/+1 | |
| Should hopefully more accurately reflect what's happening! This commit also removes the cache in the cstore implementation as it's already cached through the query infrastructure. | ||||
| 2017-09-05 | rustc: Migrate `CrateStore::item_body` to a query | Alex Crichton | -1/+1 | |
| This commit migrates the `item_body` method on `CrateStore` to a query instead to enable better tracking of dependencies and whatnot. | ||||
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -9/+9 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-11 | Encapsulate sub-table access in TypeckTables and validate keys on each access. | Michael Woerister | -2/+2 | |
| 2017-08-11 | Use ItemLocalId as key for TypeckTables::pat_binding_modes. | Michael Woerister | -1/+1 | |
| 2017-08-11 | Use ItemLocalId as key for node_types, node_substs, and adjustments in ↵ | Michael Woerister | -9/+9 | |
| TypeckTables. | ||||
| 2017-08-11 | Make TypeckTables::type_dependent_defs use ItemLocalId instead of NodeId. | Michael Woerister | -8/+8 | |
| 2017-07-30 | default binding modes: add pat_binding_modes | Tobias Schottdorf | -8/+12 | |
| This PR kicks off the implementation of the [default binding modes RFC][1] by introducing the `pat_binding_modes` typeck table mentioned in the [mentoring instructions][2]. `pat_binding_modes` is populated in `librustc_typeck/check/_match.rs` and used wherever the HIR would be scraped prior to this PR. Unfortunately, one blemish, namely a two callers to `contains_explicit_ref_binding`, remains. This will likely have to be removed when the second part of [1], the `pat_adjustments` table, is tackled. Appropriate comments have been added. See #42640. [1]: https://github.com/rust-lang/rfcs/pull/2005 [2]: https://github.com/rust-lang/rust/issues/42640#issuecomment-313535089 | ||||
| 2017-07-27 | rustc_const_eval: keep track of the appropriate ParamEnv. | Eduard-Mihai Burtescu | -7/+16 | |
| 2017-07-27 | rustc_const_eval: always require correct Substs. | Eduard-Mihai Burtescu | -19/+25 | |
| 2017-06-27 | rustc: move the PolyFnSig out of TyFnDef. | Eduard-Mihai Burtescu | -3/+3 | |
| 2017-06-01 | Auto merge of #42281 - eddyb:well-adjusted, r=nikomatsakis | bors | -2/+1 | |
| Decompose Adjustment into smaller steps and remove the method map. The method map held method callee information for: * actual method calls (`x.f(...)`) * overloaded unary, binary, indexing and call operators * *every overloaded deref adjustment* (many can exist for each expression) That last one was a historical ~~accident~~ hack, and part of the motivation for this PR, along with: * a desire to compose adjustments more freely * containing the autoderef logic better to avoid mutation within an inference snapshot * not creating `TyFnDef` types which are incompatible with the original one * i.e. we used to take a`TyFnDef`'s `for<'a> &'a T -> &'a U` signature and instantiate `'a` using a region inference variable, *then* package the resulting `&'b T -> &'b U` signature in another `TyFnDef`, while keeping *the same* `DefId` and `Substs` * to fix #3548 by explicitly writing autorefs for the RHS of comparison operators Individual commits tell their own story, of "atomic" changes avoiding breaking semantics. Future work based on this PR could include: * removing the signature from `TyFnDef`, now that it's always "canonical" * some questions of variance remain, as subtyping *still* treats the signature differently * moving part of the typeck logic for methods, autoderef and coercion into `rustc::traits` * allowing LUB coercions (joining multiple expressions) to "stack up" many adjustments * transitive coercions (e.g. reify or unsize after multiple steps of autoderef) r? @nikomatsakis | ||||
| 2017-06-01 | rustc: remove unnecessary ItemSubsts wrapper. | Eduard-Mihai Burtescu | -2/+1 | |
| 2017-05-30 | Turn sufficiently old compatibility lints into hard errors | Vadim Petrochenkov | -15/+6 | |
| 2017-04-30 | intern CodeExtents | Niko Matsakis | -2/+2 | |
| Make a `CodeExtent<'tcx>` be something allocated in an arena instead of an index into the `RegionMaps`. | ||||
| 2017-04-24 | rustc: rename some of the queries to match tcx methods. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-04-23 | rustc_const_eval: support all unit enum variants. | Eduard-Mihai Burtescu | -1/+7 | |
| 2017-04-23 | rustc: make the const-eval cache polymorphic. | Eduard-Mihai Burtescu | -3/+8 | |
| 2017-04-16 | rustc_const_eval: move ConstEvalErr to the rustc crate. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-03-06 | Fix ICE: don't use `struct_variant` on enums | Esteban Küber | -1/+5 | |
| Fix #40221 and add unittest. | ||||
| 2017-02-25 | rustc_const_eval: always demand typeck_tables for evaluating constants. | Eduard-Mihai Burtescu | -12/+12 | |
| 2017-02-03 | Add warning for () to ! switch | Andrew Cann | -1/+1 | |
| 2017-01-30 | Merge ty::TyBox into ty::TyAdt | Vadim Petrochenkov | -1/+1 | |
| 2017-01-26 | rustc: rename TyCtxt's `map` field to `hir`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-01-25 | rename `Tables` to `TypeckTables` | Niko Matsakis | -3/+3 | |
| 2017-01-19 | add exclusive range patterns under a feature gate | Oliver Schneider | -7/+13 | |
| 2017-01-06 | rustc: store ty::Tables separately for each body (except closures'). | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-01-06 | rustc: keep track of tables everywhere as if they were per-body. | Eduard-Mihai Burtescu | -23/+30 | |
| 2017-01-04 | Fix build after rebase | Andrew Cann | -12/+15 | |
| 2017-01-03 | Fix build after rebase | Andrew Cann | -5/+5 | |
| 2017-01-03 | More pattern matching for empty types changes | Andrew Cann | -5/+14 | |
| Fix is_uninhabited for enum types. It used to assume that an enums variant's fields were all private. Fix MIR generation for irrefutable Variant pattern matches. This allows code like this to work: let x: Result<32, !> = Ok(123); let Ok(y) = x; Carry type information on dummy wildcard patterns. Sometimes we need to expand these patterns into their constructors and we don't want to be expanding a TyError into a Constructor::Single. | ||||
