| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-03-08 | Move librustc_const_eval to librustc_mir | Oliver Schneider | -697/+0 | |
| 2018-03-08 | Produce instead of pointers | Oliver Schneider | -85/+95 | |
| 2018-03-05 | Turn features() into a query. | Michael Woerister | -1/+1 | |
| 2018-02-05 | Rollup merge of #47892 - Badel2:const_type_id_of, r=oli-obk | kennytm | -0/+4 | |
| Turn `type_id` into a constant intrinsic https://github.com/rust-lang/rust/issues/27745 The method `get_type_id` in `Any` is intended to support reflection. It's currently unstable in favor of using an associated constant instead. This PR makes the `type_id` intrinsic a constant intrinsic, the same as `size_of` and `align_of`, allowing `TypeId::of` to be a `const fn`, which will allow using an associated constant in `Any`. | ||||
| 2018-02-01 | Turn `type_id` into a constant intrinsic | Badel2 | -0/+4 | |
| Add rustc_const_unstable attribute for `any::TypeId::of` Add test for `const fn TypeId::of` | ||||
| 2018-02-01 | rustc: prefer ParamEnvAnd and LayoutCx over tuples for LayoutOf. | Eduard-Mihai Burtescu | -2/+1 | |
| 2018-01-04 | rustc: use {U,I}size instead of {U,I}s shorthands. | Eduard-Mihai Burtescu | -4/+4 | |
| 2017-12-12 | Move large chunks of miri from rustc::mir::interpret to rustc_mir::interpret | Oliver Schneider | -295/+0 | |
| 2017-12-12 | Put miri const eval checking behind -Zmiri | Oliver Schneider | -20/+24 | |
| 2017-12-06 | miri: don't use an associated constant for a Machine's own data. | Eduard-Mihai Burtescu | -4/+4 | |
| 2017-12-06 | miri: move param_env from Machine to EvalContext. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-12-06 | miri: monomorphize types iff they came from MIR. | Eduard-Mihai Burtescu | -3/+4 | |
| 2017-12-06 | Update miri to rustc changes | Oliver Schneider | -164/+272 | |
| 2017-09-29 | Expose miri <-> ctfe differences | Oliver Schneider | -17/+17 | |
| miri needs to start storing everything in the TyCtxt so we can have relocations and aggregates | ||||
| 2017-09-29 | Adjust imports to librustc::mir::interpret | Oliver Schneider | -1/+72 | |
| 2017-09-18 | incr.comp.: Already hash HIR bodies during metadata export so they don't ↵ | Michael Woerister | -3/+2 | |
| 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: remove obsolete const_val::ErrKind::{Negate,Not}On. | Eduard-Mihai Burtescu | -6/+4 | |
| 2017-09-11 | rustc: use ty::Const for the length of TyArray. | Eduard-Mihai Burtescu | -3/+8 | |
| 2017-09-11 | rustc: replace usize with u64 and ConstUsize. | Eduard-Mihai Burtescu | -11/+12 | |
| 2017-09-11 | rustc: introduce ty::Const { ConstVal, Ty }. | Eduard-Mihai Burtescu | -30/+31 | |
| 2017-09-11 | rustc: intern ConstVal's in TyCtxt. | Eduard-Mihai Burtescu | -66/+76 | |
| 2017-09-08 | Use NodeId/HirId instead of DefId for local variables. | Eduard-Mihai Burtescu | -12/+12 | |
| 2017-09-05 | rustc: Store InternedString in `DefPathData` | Alex Crichton | -1/+1 | |
| Previously a `Symbol` was stored there, but this ended up causing hash collisions in situations that otherwise shouldn't have a hash collision. Only the symbol's string value was hashed, but it was possible for distinct symbols to have the same string value, fooling various calcuations into thinking that these paths *didn't* need disambiguating data when in fact they did! By storing `InternedString` instead we're hopefully triggering all the exising logic to disambiguate paths with same-name `Symbol` but actually distinct locations. | ||||
| 2017-09-05 | rustc: Rename item_body query to extern_const_body | Alex Crichton | -2/+2 | |
| 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 | -2/+2 | |
| 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 | -1/+1 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-14 | Auto merge of #43740 - michaelwoerister:local-id-in-typecktables, r=arielb1 | bors | -2/+2 | |
| Use hir::ItemLocalId as keys in TypeckTables. This PR makes `TypeckTables` use `ItemLocalId` instead of `NodeId` as key. This is needed for incremental compilation -- for stable hashing and for being able to persist and reload these tables. The PR implements the most important part of https://github.com/rust-lang/rust/issues/40303. Some notes on the implementation: * The PR adds the `HirId` to HIR nodes where needed (`Expr`, `Local`, `Block`, `Pat`) which obviates the need to store a `NodeId -> HirId` mapping in crate metadata. Thanks @eddyb for the suggestion! In the future the `HirId` should completely replace the `NodeId` in HIR nodes. * Before something is read or stored in one of the various `TypeckTables` subtables, the entry's key is validated via the new `TypeckTables::validate_hir_id()` method. This makes sure that we are not mixing information from different items in a single table. That last part could be made a bit nicer by either (a) new-typing the table-key and making `validate_hir_id()` the only way to convert a `HirId` to the new-typed key, or (b) just encapsulate sub-table access a little better. This PR, however, contents itself with not making things significantly worse. Also, there's quite a bit of switching around between `NodeId`, `HirId`, and `DefIndex`. These conversions are cheap except for `HirId -> NodeId`, so if the valued reviewer finds such an instance in a performance critical place, please let me know. Ideally we convert more and more code from `NodeId` to `HirId` in the future so that there are no more `NodeId`s after HIR lowering anywhere. Then the amount of switching should be minimal again. r? @eddyb, maybe? | ||||
| 2017-08-12 | Fix some typos | Bastien Orivel | -1/+1 | |
| 2017-08-11 | Use ItemLocalId as key for node_types, node_substs, and adjustments in ↵ | Michael Woerister | -1/+1 | |
| TypeckTables. | ||||
| 2017-08-11 | Make TypeckTables::type_dependent_defs use ItemLocalId instead of NodeId. | Michael Woerister | -1/+1 | |
| 2017-08-02 | rustc_const_math: use apfloat::ieee::{Single,Double} in ConstFloat. | Eduard-Mihai Burtescu | -28/+27 | |
| 2017-07-27 | rustc_const_eval: keep track of the appropriate ParamEnv. | Eduard-Mihai Burtescu | -35/+33 | |
| 2017-07-27 | rustc_const_eval: always require correct Substs. | Eduard-Mihai Burtescu | -38/+15 | |
| 2017-07-19 | Implement const fn {size,align}_of. | Eduard-Mihai Burtescu | -0/+23 | |
| 2017-06-13 | On-demand is_const_fn | Taylor Cramer | -1/+1 | |
| 2017-06-10 | rustc: make the comon case of tcx.infer_ctxt(()) nicer. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-06-01 | strip param-env from infcx | Niko Matsakis | -1/+3 | |
| 2017-06-01 | move projection mode into parameter environment | Niko Matsakis | -1/+1 | |
| 2017-06-01 | rustc: remove unnecessary ItemSubsts wrapper. | Eduard-Mihai Burtescu | -2/+1 | |
| 2017-05-04 | trait_of_item | achernyak | -1/+1 | |
| 2017-04-27 | query for describe_def | achernyak | -1/+1 | |
| 2017-04-24 | rustc: use tcx.at(span) to set the location of a query. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-24 | rustc: expose the common DUMMY_SP query case as tcx methods. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-04-24 | rustc: rename some of the queries to match tcx methods. | Eduard-Mihai Burtescu | -3/+3 | |
| 2017-04-23 | rustc_const_eval: support all unit enum variants. | Eduard-Mihai Burtescu | -44/+33 | |
| 2017-04-23 | rustc_const_eval: CallOn isn't needed, typeck/const-qualif handle those cases. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-23 | rustc: make the const-eval cache polymorphic. | Eduard-Mihai Burtescu | -104/+81 | |
| 2017-04-16 | rustc: use monomorphic const_eval for cross-crate enum discriminants. | Eduard-Mihai Burtescu | -4/+7 | |
| 2017-04-16 | rustc: expose monomorphic const_eval through on-demand. | Eduard-Mihai Burtescu | -34/+15 | |
